我正在尝试通过Web应用程序发送短信,我从短信供应商那里购买了批量短信,并尝试提前与他们的api.thanks取得联系
我通过邮递员发布数据,并且可以正常工作(发布方法,标题部分),当我将数据从网页发布到其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时,它没有响应,也许是因为我需要发送在标题部分,但我不知道该怎么做。
答案 0 :(得分:0)
上面写着“张贴在标头中而不是正文中”,但这是对您需要做的描述,这是错误的。
看例子。它们显示数据已编码在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));;
}
})
如果您需要与旧版浏览器兼容,请参见this answer。
警告您,您很可能会遇到in this question所述的问题。
答案 1 :(得分:-1)
您可以使用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));;
}
});
答案 2 :(得分:-2)
尝试添加您的Ajax
contentType:“ application / json”
$.ajax({
type: "POST",
url: **your URL**,
data: **your DATA**,
contentType: "application/json",
});