我有一个jquery ajax调用,我试图以json数据格式从外部API获取数据。这是我的代码..
$("#click").click(function () {
$.ajax({
type: "POST",
url: "http://pnrbuddy.com/api/check_pnr/pnr/2156641988/format/json/pbapikey/6b17f33e25e2d8197462d1c6bcb0b130/pbapisign/bd0aea241e88c8a22692eba02887ad97a220f827",
contentType: "application/json",
async: false,
success: function (data) {
$("#response").html(data.d);
}
});
});
当我点击按钮时,任何值都没有任何响应在mozill中进入firebug。当试图执行chrome获取错误时...
XMLHttpRequest cannot load http://pnrbuddy.com/api/check_pnr/pnr/2156641988/format/json/pbapikey/6b17f…5e2d8197462d1c6bcb0b130/pbapisign/bd0aea241e88c8a22692eba02887ad97a220f827. Request header field Content-Type is not allowed by Access-Control-Allow-Headers.
请帮帮我.. 提前谢谢..
答案 0 :(得分:2)
这是你工作的Ajax。我测试了它,它正确地提供了有关pnr查询的信息。
$.ajax({
type: "GET",
crossDomain:true,
url: "http://pnrbuddy.com/api/check_pnr/pnr/2156641988/format/json/pbapikey/6b17f33e25e2d8197462d1c6bcb0b130/pbapisign/bd0aea241e88c8a22692eba02887ad97a220f827",
success: function (data) {
alert(data.pnr); // result - 2156641988
alert(data.train_num); // result - 14208
alert(data.train_name); // result - PADMAVAT EXPRES
}
});
答案 1 :(得分:1)
在服务器端,您应该在此目录中添加.htaccess,内容为:
标题集Access-Control-Allow-Origin:*
标题集Access-Control-Allow-Headers:content-type
标题集Access-Control-Allow-Methods:*