0

我试图从跨域解析 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);
}   
4

1 回答 1

0

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

此外,您还需要在客户端编写该函数。

function mycallback(json)
{alert(json);}
于 2013-02-15T09:45:41.873 回答