纠其原因,是因为使用了ajax的跨域。这种情况下需要使用jsonp。虽然以前也使用过jsonp,这里给自己做个总结,也给碰到问题的人提供帮助。
使用jsonp需要做的修改:
1.客户端调用时需要在URL后面增加jsonp=callbackFunction,并定义好会调的callbackFunction
如:http://www.xxxx.xxx?jsonp=jsonCallback
function jsonCallback(result){
}
<script>
2.服务器端,如果服务器端原来需要返回的json格式如下:
在jquery中使用jsonp
$.getJSON
$.getJSON("http://www.xxxx.xxx&jsoncallback=?",
function(data){
});
</script>
$.ajax
type: "GET",
url: 'http://www.xxxx.xxx/api/topic-show!byId?',
data: "jsonCallback=?&topicId=" + topicId ,
dataType: "json",
success: function (msg) {
}
});