使用javascript函数将Json对象发送到服务器

时间:2015-12-09 14:00:51

标签: javascript ajax jsonobject

我尝试将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 个答案:

答案 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