Отправить объект 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

Другие вопросы по тегам