使用AJAX和JQuery发送带有JSON数据的PUT调用?

时间:2017-04-03 11:54:23

标签: javascript php jquery json ajax

嗨我试图向我的瘦身php api发送PUT请求,但似乎我的参数变为null。 这是我的代码:



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;
});



 有人可以帮帮我吗?请。

2 个答案:

答案 0 :(得分: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>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

它最终适用于此

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