JavaScript jQuery AJAX POST数据错误

JavaScript jQuery AJAX POST data error

本文关键字:数据 错误 POST AJAX jQuery JavaScript      更新时间:2023-09-26

我正在尝试发送一个post参数。到request.php,但是它返回post参数。是空的。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
$.ajax({
    url: "request.php",
    type: "POST",
    data: "{key:'123', action:'getorders'}",
    contentType: "multipart/form-data",
    complete: alert("complete"),
    success: function(data) {
        alert(data);
    },
    error: alert("error")
});

将" "从data:{key:'123', action:'getorders'}中移除

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
   <script>
     $.ajax({
        url:"request.php",
        type:"POST",
        data:{key:'123', action:'getorders'},
        contentType:"multipart/form-data",
        complete:alert("complete"),
        success:function(data) {
          alert(data);
            },
        error:alert("error")
             }); 
          </script>

必须使用FormData代替multipart/form-data,并且还需要在ajax中添加其他选项。

var request = new FormData();   
request.append('key',123);
request.append('action','getorders');
$.ajax({
    url: "request.php",
    type: "POST",
    data: request,    
    processData : false,
    contentType: false,
    success: function(data) {
        alert(data);
    }    
});

这会对你有所帮助。你不需要一个字符串,你真正需要的是一个键值对的JS映射。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
    $.ajax({
       url:"request.php",
       type:"POST",
       data:{key:'123', action:'getorders'},
       contentType:"multipart/form-data",
       complete:alert("complete"),
       success:function(data) {
          alert(data);
       },
       error:function(){
          alert("error");
       }); 
</script>

这应该是一个冠军,如下面所示构建对象,stringifyJSON.stringify(newObject),则不会出现错误

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
    <script>
       var newObject= new Object();
       newObject.key= '123';
       newObject.action='getorders'
        $.ajax({
           url:"request.php",
           type:"POST",
           data:JSON.stringify(newObject),
           contentType:"multipart/form-data",
           complete:alert("complete"),
           success:function(data) {
              alert(data);
           },
           error:function(){
              alert("error");
           }); 
    </script>

试试这个:

data: JSON.stringify({key: '123', action: 'getorders'}),
contentType: "application/json"