使用jQuery解析从PHP脚本返回的XML(imgur.com API)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用jQuery解析从PHP脚本返回的XML(imgur.com API),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2010字,纯文字阅读大概需要3分钟。
内容图文
![使用jQuery解析从PHP脚本返回的XML(imgur.com API)](/upload/InfoBanner/zyjiaocheng/695/5a1059dcfada41a3963c139646753cd0.jpg)
这是我的jQuery:
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”的GET参数直接访问时,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供参考.
解决方法:
var docname = $('#doc').val();
确切地说,这在您的代码中的什么位置,何时对其进行评估?
我的猜测是,当< script>标记已解析,或者您已将其包装在$(document).ready()处理函数中.无论哪种方式,在用户实际在输入/文本控件中键入内容之前都会对其进行评估,因此docname始终都为”或什至为null.您希望脚本在用户按下“提交”按钮之前不获取值.
尝试一下
$('#submit').click(function() {
$.ajax({
type: "GET",
url: "img_upload.php",
data: "doc=" + $('#doc').val(),
dataType: "xml",
success: parseXml
});
return false;
});
编辑:更好的是,使data属性成为一个对象,并让jquery处理该值的转义.
data: {doc: $('#doc').val()}
内容总结
以上是互联网集市为您收集整理的使用jQuery解析从PHP脚本返回的XML(imgur.com API)全部内容,希望文章能够帮你解决使用jQuery解析从PHP脚本返回的XML(imgur.com API)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。