我是JavaScript新手,并试图让JSON对象在我的网站上发布。但是,我无法得到成功的回应。由于我没有合适的调试器,因此我没有看到错误消息。
这是我的代码到目前为止,我已经读过这可能是一个安全问题,我应该寻找JSONP,但我没有找到任何正确的例子来理解它。
<pre><html><head><title>Test0</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script><body>
<script>
$.ajax({
url: 'http://openraid.org/api/login/asd/asd',
dataType: 'json',
jsonpCallback: 'MyJSONPCallback',
success: function(data){
alert("TEST");
}
});
</script></head>
</body></html></pre>
所以我的问题是,为什么我不回复?
答案 0 :(得分:0)
$.getJSON("http://openraid.org/api/login/TE/ST",function(msg) {
alert(msg.token);
})
.done(function(data, textStatus, jqXHR) { console.log( "second success" ); })
.fail(function(jqXHR, textStatus, errorThrown) { console.log( "error" ); });
答案 1 :(得分:0)
我将此分解为:
$.ajax({
type: "GET",
dataType: "json",
url: "http://openraid.org/api/login/TE/ST",
})
.done(function(dataReturned){alert("Win")})
.fail(function(){alert("Fail")}));
另外,我建议在Firefox中使用Firebug扩展程序进行调试。
答案 2 :(得分:0)
非常简单,JSONP是一个服务器协议,它将在uri中获取一个回调参数,并将一个JSON对象作为变量返回到由callback参数命名的javascript函数调用中。因此,在实际功能中,getJSON
的工作方式与getScript
完全相同,它可以将外部uri作为脚本标记加载到页面中并运行脚本,在本例中为javascript函数返回一个包含JSON的变量。如果您的API不支持JSONP,那么您将无法获得成功响应。