【发布时间】:2013-06-27 05:22:12
【问题描述】:
我被一个简单的问题困住了,我想让一个 ajax 调用一个公共 Web 服务,但得到了“未定义”错误
<script type="text/javascript">
$(document).ready(function () {
$('#btn1').click(myFunction);
});
function myFunction() {
var strSearch = $('#txt1').val();
var parameters = "{'passage':'" + strSearch + "'}";
$.ajax({
url: 'http://www.esvapi.org/v2/rest/passageQuery?key=IP&passage=' + strSearch + '&options=include-passage-references=true',
type: 'GET',
data: parameters,
dataType: "json",
success: function(result) {
$('#res1').html(result.data);
},
error: function (xhr) {
alert(xhr.data);
}
});
}
</script>
公共服务位于http://www.esvapi.org/api。我相信它使用 'GET' 方法。
调试快照:
【问题讨论】:
-
请查看JavaScript error console 并告诉您在那里看到的错误以及它们指向的行。
-
什么未定义的错误?跨域资源共享错误?
-
同源策略错误,你不能使用ajax从跨域站点获取内容,除非它们支持JSONP或CORS。
-
我不确定他们是否支持 JSONP。在这种情况下,我该怎么办?
-
您需要从您的网络服务器查询 API,并使用 ajax 在您的服务器上运行脚本等。或者...您始终可以使用 YQL 之类的东西。
标签: asp.net-mvc jquery asp.net-mvc-4