AJAX没有使用成功处理程序函数
AJAX not using the success handler function
嗨,我的AJAX返回JSON对象时遇到问题,因为它似乎没有使用成功处理程序函数,而是直接落入错误处理程序中。
我不明白的是,相同的AJAX脚本将成功返回另一个API的JSON对象。
我使用的代码是这个
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script> $(document).ready(function () { $.ajax({ type: "GET", dataType: "jsonp", url: "http://www.flickr.com/services/feeds/photos_public.gne?tags=soccer&format=json&jsoncallback=?", success: function (flikrData) { console.log(flikrData); document.writeln("<Table style='width:1000px; height:auto; text-align:center; margin:auto; background-color:lightblue;'>"); document.write("<tr>"); for (var ini = 0; ini <= flikrData.items.length; ini++) { document.write("<tr>"); document.write("<td>"); document.writeln("Title: " + flikrData.items[ini].title + "Author: " + flikrData.items[ini].author + "Author ID: " + flikrData.items[ini].author_id + "Date Taken: " + flikrData.items[ini].date_taken + "Description: " + flikrData.items[ini].description + "Link: " + flikrData.items[ini].link + flikrData.items[ini].media.m + "Tags: " + flikrData.items[ini].tags); document.write("</td>"); document.write("</tr>"); }; document.write("<tr>"); document.writeln("</Table>"); }, error: function (jqHXR, textStatus, errorThrown) { console.log(jqHXR, textStatus, errorThrown); } }); }); </script>
现在,上面的工作是正确的,并使用它作为概念的证明。
上面的与真实版本的唯一区别是,下面的似乎是一个公开的Web服务。这是否意味着我必须以不同的方式处理JSON对象?
http://test.net.au/Services/ClientApi.svc/listEventsByCustomer?customerId=" + customerID + "&format=json&jsoncallback=?"
我尝试了许多类似问题的人提出的上述不同变体,如jsonp: '$callback'
、?callback=?
、&callback=?
,但似乎都不起作用。
错误函数在Chrome控制台中产生以下结果。
{"readyState":4,"status":200,"statusText":"success"}
据我所知,这意味着它已经奏效了。。。我甚至可以在Fiddler中看到返回的JSON对象,但它不会触发成功处理程序。
我已经在Jsonlint中测试了实际的链接,它已经验证了它确实是一个JSON对象。
有人知道吗
【运营合同】[System.ServiceModel.Web.WebGet(UriTemplate="getCustomerById?customerId={customerId}",[RespnseFormat=WebMessageFormat.Json)]Customer GetCustomerById(Guid customerId);
这当然是一个奇怪的错误。我的猜测是ajax处理程序期望不同的响应类型,当它接收到"错误"类型时,它会抛出一个错误。
所以我想问题出在对服务器和回调使用JSONP上。您确定服务器能够响应JSONP请求吗?
相关文章:
- keyup事件处理程序更改焦点不适用于快速键入
- 提示使用服务器端事件处理程序激活JavaScript
- 将事件处理程序绑定到任何可能的事件
- 正在将事件处理程序添加到不存在的类
- 在AJAX回调和呈现PIXIJS之间处理程序流时遇到了问题
- Adobe Edge:动画完成时添加onComplete处理程序
- 是否可以从输入处理程序中确定输入的类型
- 在循环中附加事件处理程序时出现浏览器性能问题
- 在同一个javascript事件处理程序中调用不同的函数
- 有没有一种方法可以让内联事件处理程序在元素创建后立即执行
- 检查事件处理程序参数
- 实现延迟的jquery更改事件处理程序
- 平均值.on(事件[,选择器][,数据],处理程序)
- getSript在同一对象上多次添加处理程序
- 如何使用Node.js在JavaScript模块文件之间使用事件处理程序
- 如何让React JS点击处理程序在执行时更新DOM
- 如何使jQuery的“bind”或“on”事件处理程序幂等
- Backbone listenTo不将jquery函数作为处理程序进行激发
- 带有参数的Javascript事件处理程序
- Jquery事件处理程序仅适用于匿名函数