Отправить объект Json на сервер с функцией JavaScript
Я пытаюсь отправить объект 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>
Любая помощь, пожалуйста.
1 ответ
Вы должны просто изменить свой вызов 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, а второе изменение - это фактическая полезная нагрузка, в которой вы пропустили "в конце сразу после Hello.
Если у вас есть еще вопросы, просто спросите:)
Также я бы порекомендовал не посылать имя пользователя и пароль в качестве параметра строки запроса, использовать запрос POST с правильной полезной нагрузкой и последний, если вы можете пройти через ssl