我的JSONP代码由于某种原因而无法使用Angular工作!我已经阅读了数千个示例,但根本不起作用。请参阅下面的代码。
我已经阅读了这个问题,它还没有解决我的问题angularjs jsonp不起作用
我的示例代码显示了已定义的成功和错误方法的http.jsonp调用。我正在使用Chrome进行开发和测试,第二和第三张图像显示了Ajax服务调用和服务的JSONP响应。
最新更新
从@thesharpieone接收帮助后,服务器响应现在返回一个实际功能(而不是以前是问题的字符串),但是由于某种原因,成功方法未执行吗?
$http.jsonp(url).then(function(response) {
alert('success'); // not hit
}, function onError(response) {
alert('error'); // this is displayed
});
非常感谢,
Angular JS
var url = serviceRoot + "api/customer/get?callback=JSON_CALLBACK";
$http.jsonp(url).success(function (data) {
alert('success'); // never called
})
.error(function () {
alert('error');
});
Chrome网络面板
显示Chrome网络面板,突出显示AJAX调用
AJAX响应
显示AJAX响应(日期数组)
您的JSONP响应是引用的,不应该是。应该执行脚本,该脚本将调用您的回调函数。现在,它只是一个字符串,而不是带有参数的JavaScript函数调用。
JSONP通过在链接到您的URL的页面上删除新的<script>
标签来工作。执行时,应该调用您的回调。因此,JSONP的响应应为JavaScript,而不是字符串。