最近做的一些东西都涉及到跨域访问的问题。我觉得使用ajax访问url的时候,通常返回的数据都会出现在success里,然后再success里写上自己的逻辑。结果今天遇到了一个问题。在chrome中debug的时候,发现数据已经返回到客户端了。只是接收的方法有问题。后来请教高手后,才知道,callback函数没有定义。汗颜!!
代码如下:
$.ajax({
//crossDomain: true,
type: "get",
data:{username:"'"+username+"'"},
contentType: "application/json; charset=utf-8",
async:false,
url : "http://hhcnc4dev-testjson.cs6.force.com/accountjson",
dataType : "jsonp",
success: function(status){
alert(status);
},
error: function(XMLHttpRequest, textStatus, errorThrown){
}
});
function callbackHandler(data) {
alert(data);
}
http://hhcnc4dev-testjson.cs6.force.com/accountjson 这个链接返回的json串有问题。处理方法是在json串上加上回调函数(callbackHandler),这样程序就能正常了。具体形式如下
callbackHandler("json串")
以上代码下载return里就成。
我在查资料的时候,苦于网上的代码没法使用。希望能帮助大家!