在httprequest上编写Request Payload属性

时间:2018-03-04 12:23:21

标签: javascript ajax xml payload

我正在尝试开发一个浏览器扩展程序,以帮助人们更容易地使用某些东西。 我需要做的一件事就是发送几个http请求。

我需要重新创建网站在执行某些操作时所做的请求。 现在网站使用Request Payload,这是我第一次使用(使用的表单数据),因此我不知道如何使Request Payload与站点发送请求时相同。

    var request = new XMLHttpRequest(),
    url = 'https://www.hidden.com/api/v1/tipuser/',
    data = 'steam_64=76561198364912967&tip_asset_ids=[]&tip_balance=0',
    token ='...';

request.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        console.log("The request and response was successful!");
   }
};
request.open('POST', url, true);
request.setRequestHeader('Content-type', 'text/plain');
request.setRequestHeader('authorization', token);
request.send(data);

这是我的代码,发送后你可以看到我的Request Payload看起来如何。 我已经困难好几天了,我在网上搜索但是找不到解决方案。我知道我只需要用不同的方式写它。

This is site's request

This is my request

干杯!

1 个答案:

答案 0 :(得分:0)

您是否可以尝试将您的请求作为application / json发送并构建您的数据对象,如下例所示?

您的Content-type请求标头应为application / json

var request = new XMLHttpRequest(),
url = 'https://jsonplaceholder.typicode.com/posts/',
data = {
    steam_64: '76561198364912967',
    tip_asset_ids: [], 
    tip_balance: 0,
    token: '',
};

request.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        console.log("The request and response was successful!");
   }
};
request.open('POST', url, true);
request.setRequestHeader('Content-type', 'application/json');
request.setRequestHeader('authorization', data.token);
request.send(JSON.stringify(data));