2017-04-03 138 views
0

您好,我试图发送一个PUT请求到我的苗条php api,但它似乎是我的参数变为null。 这里是我的代码:使用AJAX和JQuery发送带有JSON数据的PUT调用?

function update() { 
 
    $.ajax({ 
 
     type: 'PUT', 
 
     contentType: 'application/json', 
 
     url: 'api/edit' + '/' + $('#id').val(), 
 
     contentType: "application/json", 
 
     data: formToJSON(), 
 
     success: function(data, textStatus, jqXHR){ 
 
      document.location.href="page.php?update=OK" 
 
     }, 
 
     error: function(jqXHR, textStatus, errorThrown){ 
 
      document.location.href="page.php?update=ERROR" 
 
     } 
 
    }); 
 
} 
 

 
function formToJSON() { 
 
    alert($('#id').val()+' '+$('#param1').val()+' '+$('#param2').val()+' '+$('#param3').val()); 
 
    return JSON.stringify({ 
 
     "id": $('#id').val(), 
 
     "param1": $('#param1').val(), 
 
     "param2": $('#param2').val(), 
 
     "param3": $('#param3').val() 
 
     
 
} 
 

 
$('#btnUpdate').click(function() { 
 
     update(); 
 
    return false; 
 
});
有人能帮助我吗?请。

+0

它的精确副本从您的代码粘贴工作?我注意到'fromToJSON()'方法不包含大括号,因此首先确保您没有任何错误日志记录在您的浏览器上的开发人员工具的控制台窗口中。 –

+0

对不起,我通过在这里编辑代码来编写大括号,但是我没有在控制台 –

回答

0

它最终以这种

function update() { 
 
    $.ajax({ 
 
     type: 'PUT', 
 
     dataType: 'application/x-www-form-urlencoded', 
 
     url: '/api/edit', 
 
     data: {    id: $('#id').val(), 
 
\t \t \t \t \t   param1: $('#param1').val(), 
 
\t \t \t \t \t   param2: $('#param2').val(), 
 
\t \t \t \t \t   param3: $('#param3').val(), 
 
\t \t \t \t \t   param4: $('#param4').val() 
 
          
 
      } 
 
     
 
     
 
    }); 
 
}

0

我希望这段代码能正常工作。

function update() { 
 
    $.ajax({ 
 
     type: 'PUT', 
 
     contentType: 'application/json', 
 
     url: 'api/edit' + '/' + $('#id').val(), 
 
     contentType: "application/json", 
 
     data: formToJSON(), 
 
     success: function(data, textStatus, jqXHR){ 
 
      document.location.href="page.php?update=OK" 
 
     }, 
 
     error: function(jqXHR, textStatus, errorThrown){ 
 
      document.location.href="page.php?update=ERROR" 
 
     } 
 
    }); 
 
} 
 

 
function formToJSON() { 
 
    alert($('#id').val()+' '+$('#param1').val()+' '+$('#param2').val()+' '+$('#param3').val()); 
 
    return JSON.stringify({ 
 
     "id": $('#id').val(), 
 
     "param1": $('#param1').val(), 
 
     "param2": $('#param2').val(), 
 
     "param3": $('#param3').val() 
 
     
 
    }) 
 
} 
 

 

 
$(document).ready(function() { 
 

 
$('#btnUpdate').click(function() { 
 
     update(); 
 
    return false; 
 
}); 
 

 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

中写错一些描述,你改变了什么,出了什么问题等错误,以便OP和其他人可以理解这个问题,并且可以轻松识别您所做的更改。 –

+0

谢谢,但它不起作用 –