使用ajax对返回JSON(而不是jsonp)结果的页面进行跨域调用时出错

时间:2016-02-11 06:05:32

标签: jquery json ajax

我正在使用ajax进行跨域调用。但我收到错误或Uncaught SyntaxError:意外的令牌:

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>

 var prodID = "4220";
 var txRef = "d38e92010";
 var amt = "10000";
 var hasKey = "60e0fac58c36accabc393172d6546320ecf00628fbba3a4bb4f9ef72c51f1c11e0c677fd9de5f7b9e45e2336871617fa845b24a6c85d541fc5a59726537d0abf";
 var mackey = "199F6031F20C63C18E2DC6F9CBA7689137661A05ADD4114ED10F5AFB64BE625B6A9993A634F590B64887EEB93FCFECB513EF9DE1C0B53FA33D287221D75643AB";
 var trgurl = "https://stageserv.interswitchng.com/test_paydirect/api/v1/gettransaction.json?productid=" + prodID + "&transactionreference=" + txRef + "&amount=" + amt + "&hash=" + hasKey + "&mackey=" + mackey + "";


 $.ajax({
     url: trgurl,
     dataType: 'JSONP',
     type: 'GET',
     contentType: 'application/json',
     crossDomain: true,
     success: function (data) {
         debugger;
         alert('success!' + data);
     },
     error: function (data) {
         debugger;
         alert('success!' + data);
     },
     complete: function (xhr, status) {
         debugger;

     }
 });

我还在我的请求中添加了Allow-Cross_origin标头。如果我删除JSONP,则会出现跨域错误。

1 个答案:

答案 0 :(得分:0)

我搜索了这些内容并尝试添加标题。但最后我知道一个可以访问的服务跨域并不完全取决于你如何调用它,而且还取决于托管。我发现我正在调用的服务不允许访问跨域,这是主机上的问题。谢谢大家的支持。