我正在使用html5创建一个网页。问题是我从一个url中获取一个json并在控制台上打印它的结果。我在函数中得到了预期的结果,但没有把它带到它之外。即使变量是全局的。请参阅以下代码
<script src="jquery-1.8.3.min.js"></script>
<script>
$(document).ready(function(){
var result;
$.ajax({
type: 'GET',
url: 'http://192.168.1.5:3333/abc.json',
async: false,
jsonpCallback: 'jsonCallback',
contentType: "application/json",
dataType: 'jsonp',
success: function(data) {
//var result = $(this).html(JSON.stringify(data));
//console.log(JSON.stringify(data));
result = JSON.parse(JSON.stringify(data));
console.log(result); // Result : 1
},
error: function(e) {
alert(e.message);
}
});
console.log("here::"+result); // Result : 2
});
</script>
我的结果为
2 here:undefined
1 object (json)
我需要这个json进行解析。
答案 0 :(得分:3)
文档非常清楚:
跨域请求和dataType:&#34; jsonp&#34;请求不支持同步操作。
基本上,这意味着您的async: false
根本没有被使用,这解释了行为。
另请参阅:jQuery.ajax()