【问题标题】:POST headers and body using Jquery AJAX使用 Jquery AJAX POST 标题和正文
【发布时间】:2015-12-01 11:23:55
【问题描述】:

我必须向代理 API 发送一个 POST,包括标头和正文:

Action  POST https://demo-api.ig.com/gateway/deal/session

Header  
Content-Type: application/json; charset=UTF-8
Accept: application/json; charset=UTF-8
X-IG-API-KEY: 5FA056D2706634F2B7C6FC66FE17517B

Body    
{ 
"identifier": "A12345", 
"password": "112233" 
} 

API 在这里:https://labs.ig.com/rest-trading-api-guide

问题是互联网上的每个示例都将数据作为“数据”发送,如下所示:

jQuery.ajax(

{

url : 'https://demo-api.ig.com/gateway/deal/session',

type: 'POST',

dataType : "json",

data: {identifier: "A12345", password: "112233"}

});

我不明白,标题和正文在哪里?所有的例子基本上都是这样的,我无法从中做出正面或反面。

【问题讨论】:

    标签: javascript jquery ajax post header


    【解决方案1】:

    使用beforeSend 回调函数并设置标题。试试下面的代码 -

    jQuery.ajax({
      url : 'https://demo-api.ig.com/gateway/deal/session',
      type: 'POST',
      dataType : "json",
      data: {identifier: "A12345", password: "112233"}
      beforeSend: function(xhr){xhr.setRequestHeader('X-Header', 'header-value');},    
    });
    

    【讨论】:

    • 自从 jQuery 1.5(已经很老了)你可以使用headers: {"header Name":"Header Value"},在我看来这是更好的方法。
    【解决方案2】:

    在您的情况下,数据用于发布参数,标题有自己的对象。

    jQuery.ajax(
    
    {
    
    url : 'https://demo-api.ig.com/gateway/deal/session',
    
    type: 'POST',
    
    dataType : "json",
    
    headers: {"X-IG-API-KEY":"5FA056D2706634F2B7C6FC66FE17517B"},
    
    data: {identifier: "A12345", password: "112233"}
    
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-30
      • 2015-01-06
      • 1970-01-01
      • 2011-06-23
      相关资源
      最近更新 更多