我尝试将json对象发送到远程服务器,但我没有收到成功消息。请问这段代码有什么问题:
function sendSMS(){
var input = '{"header":"****","****":*****,"****":"*****"}';
var url = "https://**********&username=*****&password=*******";
jQuery.ajax({
type: "POST",
crossDomain:true,
url: url,
data: JSON.stringify(input),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
async: false,
success: function(){
alert("success");
}
});
}
// html code
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="http://www.json.org/json2.js"></script>
<script type="text/javascript" src="sendSMS.js"></script>
</head>
<body>
<button onclick="sendSMS()">sendSMS</button>
</body>
</html>
请帮助。
答案 0 :(得分:0)
你必须简单地将你的ajax调用改为:
function sendSMS(){
var input = '{"header":"Ooredoo","msisdn":21620117297,"SMS":"Hello"}';
var url = "https://**********&username=*****&password=*******";
jQuery.ajax({
type: "POST",
crossDomain:true,
url: url,
data: JSON.parse(input),
contentType: 'application/json; charset=utf-8',
dataType: 'json',
async: false,
success: function(){
alert("success");
}
});
}
主要更改是JSON.stringify到JSON.parse,这将帮助您将JSON数据解析为JSON对象,第二个更改是您错过了&#34;最后,就在Hello之后。
如果您有任何其他问题,请询问:)
另外我建议不要将用户名和密码作为querystring参数发送,使用带有适当有效负载的POST请求,如果你可以通过ssl