gpt4 book ai didi

javascript - 如何在客户端发出自定义 "POST"请求?

转载 作者:可可西里 更新时间:2023-11-01 16:18:31 25 4
gpt4 key购买 nike

我需要做一个 POST 请求,例如:

POST /feeds/api/users/default/subscriptions HTTP/1.1
Host: gdata.youtube.com
Content-Type: application/atom+xml
Content-Length: CONTENT_LENGTH
Authorization: Bearer ACCESS_TOKEN
GData-Version: 2
X-GData-Key: key=DEVELOPER_KEY

<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns="http://www.w3.org/2005/Atom"
xmlns:yt="http://gdata.youtube.com/schemas/2007">
<category scheme="http://gdata.youtube.com/schemas/2007/subscriptiontypes.cat"
term="channel"/>
<yt:username>GoogleDevelopers</yt:username>
</entry>

例如,我知道如何在服务器 (.NET/C#) 端执行此操作,使用 HttpWebRequest 对象,设置 Header/Method/ContentType。

但如果我想在客户端进行呢?使用 jQuery 的 Ajax?我在哪里可以设置这些参数?

最佳答案

你可以使用这个函数:

function post(url, data, headers, success) {
$.ajax({
beforeSend: function(xhr){
$.each(headers, function(key, val) {
xhr.setRequestHeader(key, val);
});
xhr.setRequestHeader('Content-Length', data.length);
}
type: "POST",
url: url,
processData: false,
data: data,
dataType: "xml",
success: success
});
}

使用这样的代码:

var request = '<?xml version="1.0" encoding="UTF-8"?>' +
'<entry xmlns="http://www.w3.org/2005/Atom"' +
' xmlns:yt="http://gdata.youtube.com/schemas/2007">' +
' <category scheme="http://gdata.youtube.com/schemas/2007/subscriptiontypes.cat" term="channel"/>'+
' <yt:username>GoogleDevelopers</yt:username>' +
'</entry>';

var headers = {
'Content-Type': 'application/atom+xml',
'Authorization': 'Bearer ACCESS_TOKEN'
'GData-Version': 2
'X-GData-Key': 'key=DEVELOPER_KEY'
};

post('/some/url', request, headers, function(response) {
alert(response);
});

关于javascript - 如何在客户端发出自定义 "POST"请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18335281/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com