将Accept标头添加到JQuery AJAX GET(通过JSONP)请求

时间:2014-03-24 19:43:39

标签: jquery ajax get jsonp http-accept-header

我正在尝试将一个接受标头添加到使用“jsonp”dataType的jQuery AJAX GET请求中,但由于某种原因它无效。到目前为止,这是我的代码。

var e4json =  JSON.stringify( { 
                  "thomas_smith106"           : "Daniel244", 
                  "transaction_type"          : "34",
                  "transaction_tag"           : "902006933",
                  "authorization_num"         : "ET4653",
                  "amount"                    : "15.75"
              } ); 

$.ajax ({
    url: "https://api.demo.globalgatewaye4.firstdata.com",
    type: "GET",
    headers : {
        'accepts' : 'application/json'
    },
    data: e4json,
    dataType: "jsonp",
    success: function  (response) {
        alert('Successfuly called the e4 gateway api');
    }
});

我尝试了很多东西,但似乎没有任何效果。我查看了jQuery网站上的文档,但我找不到任何好的例子。

这是我的请求标题。我需要接受标头为'application / json'。

Accept:*/*
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Cookie:_fd_session=d69310c5cd4a02a4700b5ba63f0d0c9b
Host:api.demo.globalgatewaye4.firstdata.com
Referer:http://localhost:8080/smart-two-site/customerinfo.html
User-Agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36

任何帮助都会很棒。谢谢!

3 个答案:

答案 0 :(得分:3)

不幸的是,无法在JSONP请求上设置标头。通过向网站添加<script>标记来完成JSONP请求,然后浏览器像其他脚本一样加载。 See this explanation of JSONP.

答案 1 :(得分:-1)

使用此功能;

headers: {          
     Accept : "application/json; charset=utf-8",         
    "Content-Type": "application/json; charset=utf-8"   
} 

答案 2 :(得分:-2)

我认为您希望将其设置为:

      headers: {          
             Accept : "application/json; charset=utf-8",         
            "Content-Type": "application/json; charset=utf-8"   
      }