使用jquery ajax从跨域解析JSON

时间:2013-02-14 05:41:02

标签: json jquery

我试图从跨域解析json,但我在jquery插件中遇到错误,如 405(方法不允许)(我只使用谷歌的最新插件)任何解决方案或建议都将是很有帮助的我

由于 岜

这是我的代码

$(document).ready(function() {
    $.ajax({
    type: "GET",
    url: "http://myurl.com/webservice&callback=?",          
    contentType: "application/json; charset=utf-8",
    crossDomain: true,
    dataType: "jsonp",
    data: "{}",
    Accept: "",
    beforeSend: setHeader,
    success: OnGetAllMembersSuccess,
    error: OnGetAllMembersError,                
    });
});     
function setHeader(req) {
    req.setRequestHeader("Authentication", "Basic credentials");
    req.setRequestHeader("Content-Type", "application/json");
    req.setRequestHeader("Accept", "application/json");
}    

function OnGetAllMembersSuccess(data, status) {
    alert(status);
    $.each(data.result, function(key, value) {              
        $("#result").append(key+" : "+value);
        $("#result").append("<br />");
    });
}

function OnGetAllMembersError(request, status, error) {
    alert(status);
}   

1 个答案:

答案 0 :(得分:0)

使用jsonp作为dataType时,需要绑定服务器端的回调函数。 例如,如果您需要像{“id”:“myId”}这样的json响应,则在服务器端应该返回“mycallback({”id“:”myId“})”;

此外,您还需要在客户端编写该功能。

function mycallback(json)
{alert(json);}