這裏是我的jQuery:使用jQuery解析XML從PHP腳本返回(imgur.com API)
var docname = $('#doc').val();
function parseXml(xml)
{
$(xml).find("rsp").each(function()
{
alert("success");
});
}
$('#submit').click(function() {
$.ajax({
type: "GET",
url: "img_upload.php",
data: "doc=" + docname,
dataType: "xml",
success: parseXml
});
return false;
});
注意#doc是一種形式的文本輸入框的ID和#submit是提交按鈕的id 。如果成功,我想要一個簡單的「成功」JavaScript彈出窗口。
這裏的img_upload.php我的API密鑰省略:
<?php
$filename = $_GET["doc"];
$handle = fopen($filename, "r");
$data = fread($handle, filesize($filename));
// $data is file data
$pvars = array('image' => base64_encode($data), 'key' => <MY API KEY>);
$timeout = 30;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://imgur.com/api/upload.xml');
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);
$xml = curl_exec($curl);
curl_close ($curl);
?>
當爲 「DOC」 一個獲取參數的直接訪問,img_upload.php文件返回以下XML格式:
<?xml version="1.0" encoding="utf-8"?>
<rsp stat="ok">
<image_hash>cxmHM</image_hash>
<delete_hash>NNy6VNpiAA</delete_hash>
<original_image>http://imgur.com/cxmHM.png</original_image>
<large_thumbnail>http://imgur.com/cxmHMl.png</large_thumbnail>
<small_thumbnail>http://imgur.com/cxmHMs.png</small_thumbnail>
<imgur_page>http://imgur.com/cxmHM</imgur_page>
<delete_page>http://imgur.com/delete/NNy6VNpiAA</delete_page>
</rsp>
這裏有什麼問題? 以下是Imgur API page供參考。
你的代碼似乎很好。什麼是不工作? – 2010-04-11 10:22:46
「這裏有什麼問題?」 - 確實如此。問題是什麼?我假設「這不工作」。但你能更具體一點嗎? – VolkerK 2010-04-11 10:30:29
我不確定發生了什麼事,我甚至不認爲AJAX正在發射,因爲當我點擊#提交頁面刷新爲空白頁面時。 – vette982 2010-04-11 19:18:07