[英]how to send json data headers to api
我正在尝试通过我的网络应用程序发送短信,我从短信供应商那里购买了批量短信,试图与他们的 api 互动。提前感谢您的帮助
我通过邮递员发布数据并且它有效(发布方法,标题部分),当我将数据从我的网页发布到他们的 URL 时它不起作用,
$(document).ready(function() {
// Add event listener for opening and closing details
$('#testbut').on('click', function() {
var Username = 'xxxxxx';
var password = 'xxxxx';
var language = '1';
var sender = 'RitaFoods';
var Mobile = '2011xxxxx';
var message = 'hello from the other side';
$.ajax({
url: "https://smsmisr.com/api/webapi/?",
method: "POST",
"headers",
data: {
Username: Username,
password: password,
language: language,
sender: sender,
Mobile: Mobile,
message: message
},
dataType: "JSON",
success: function(data) {
alert("done");
alert(JSON.stringify(data));;
}
})
});
});
当我将此数据发送到我网站上的另一个页面时,我没有问题地收到它,并且我用参数响应并提醒它,当我发送到 api url 时它没有响应,可能是因为我需要在标题部分发送但我不知道该怎么做。
您可以使用beforeSend
函数设置标题
$.ajax({
url: "https://smsmisr.com/api/webapi/?",
method: "POST",
data: {
Username: Username,
password: password,
language: language,
sender: sender,
Mobile: Mobile,
message: message
},
beforeSend: function(xhr){xhr.setRequestHeader('My-Custom-Header', 'My-Value');},
dataType: "JSON",
success: function (data) {
alert("done");
alert(JSON.stringify(data));;
}
});
或通过headers
字段
$.ajax({
url: "https://smsmisr.com/api/webapi/?",
method: "POST", "headers",
data: {
Username: Username,
password: password,
language: language,
sender: sender,
Mobile: Mobile,
message: message
},
headers: {
'My-Custom-Header': 'My-Value',
},
dataType: "JSON",
success: function (data) {
alert("done");
alert(JSON.stringify(data));;
}
});
查看API 文档。
它说“在标题中而不是在正文中发布”,但作为对您需要做什么的描述,这是错误的。
看看例子。 它们表明数据被编码在URL的查询字符串中。 在 HTTP 术语中,这意味着它位于起始行,而不是标头。
因此,您需要执行以下操作:
var url = new URL("https://smsmisr.com/api/webapi/?");
url.searchParams.append("Username", Username);
url.searchParams.append("Password", password);
// etc etc
$.ajax({
url: url,
method: "POST",
dataType: "JSON",
success: function(data) {
alert("done");
alert(JSON.stringify(data));;
}
})
如果您需要与旧浏览器的兼容性,请参阅此答案。
请注意,您可能会遇到此问题中描述的问题。
尝试添加你的ajax
内容类型:“应用程序/json”
$.ajax({
type: "POST",
url: **your URL**,
data: **your DATA**,
contentType: "application/json",
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.