早上好 stackoverflow ,
我尝试从URL获取json响应 Click,正如预期的那样,我在GoogleChrome中获得了 Access-Control-Allow-Origin ,我切换到FireFox,以避免这个问题,然后我得到状态-1,数据为空。
$(document).ready(function () {
var URL = "https://www.infojort.com/axs/search?q=marouani%20zied";
console.log('------------------------');
$.ajax({
url: URL,
dataType: 'application/json;charset=utf-8',
success:function (data) {
console.dir(data);
console.log('yes');
},
complete:function () {
console.log('yes');
}
})
$.ajax({
dataType: "application/json;charset=utf-8",
url: URL,
success: function (data) {
console.dir(data);
}
});
$.getJSON(URL, function (data) {
var items = [];
$.each(data, function (key, val) {
items.push("<li id='" + key + "'>" + val + "</li>");
});
$("<ul/>", {
"class": "my-new-list",
html: items.join("")
}).appendTo("body");
});
注意:
我需要一个带有jquery,ajax或angularjs的解决方案。 谢谢大家。
答案 0 :(得分:0)
您的问题似乎与API有关,而与您的JavaScript调用无关, 我的意思是你试图从Cross Origin调用你的API,出于安全原因,默认情况下不允许这样做,所以你必须在服务器中启用cross origin来进行这种调用< / strong> https://spring.io/understanding/CORS
看看这个,它是一个Cross Origin调用(AngularJS中的Jquery):
$.ajax({
type: 'POST',
url: CTHelper.ApiUrl() + '/token',
data: {
grant_type: 'password',
username: $scope.UserName,
password: $scope.Password
},
success: function (result) {
alert('OK');
},
error: function (result) {
alert('Error');
}
});
但 API必须允许CORS ,这是文件Startup.Auth.cs的一部分
[此示例使用AspNet Web Api,C#作为后端]
public void ConfigureAuth(IAppBuilder app) {
...
app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
...
}
Microsoft.Owin.Cors可以作为nuget包下载。