2017-04-03 119 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

謝謝,但它不起作用 –