2013-02-14 129 views
0

我试图从跨域解析json,但我得到错误,如jquery插件405(方法不允许)在jquery插件(即时通讯使用最新的插件只从谷歌)任何解决方案或建议将对我很有帮助。JSON从跨域使用jquery解析ajax

感谢 岜

这里是我的代码

$(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); 
} 

回答

0

在使用JSONP作为数据类型,你需要在服务器端调用绑定回调函数.. 例如,如果您需要像{“id”:“myId”}这样的json响应,在服务器端它应该返回“mycallback({”id“:”myId“})”;

你也需要在客户端写这个函数。

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