dongyuan8024
2017-04-03 11:54
浏览 289

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

Hi i tried to send a PUT request to my slim php api but it seems like that my parameters turns to null. here is my code:

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

Can someone help me out this? Please.

图片转代码服务由CSDN问答提供 功能建议

您好我试图向我的瘦PHP api发送PUT请求,但似乎我的参数变为null。 我的代码是:

  function update()  {
 
 $ .ajax({
 
 type:'PUT',
 
 contentType:'application / json',
 
 url:'api / edit'+'/'+ $(  '#id')。val(),
 
 contentType:“application / json”,
 
 data:formToJSON(),
 
成功:function(data,textStatus,jqXHR){
 
  n document.location.href =“page.php?update = OK”
 
},
 
错误:function(jqXHR,textStatus,errorThrown){
 
 document.location.href =“page。  php?update = ERROR“
 
} 
 
}}; 
 
} 
 
 
 
函数formToJSON(){
 
提醒($('#id')。val  ()+''+ $('#param1')。val()+''+ $('#param2')。val()+''+ $('#p  aram3')。val()); 
 
返回JSON.stringify({
 
“id”:$('#id')。val(),
 
“param1”:$('  #param1')。val(),
 
“”param2“:$('#param2')。val(),
 
”“param3”:$('#param3')。val()
 
  
 
 
} 
 
 
 
 $('#btnUpdate')。click(function(){
 
 update(); 
 
返回false; 
 
})  ;   
 
  
 
  
 
 
是否有人帮我解决这个问题? 请。
 
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • duanbimo7212 2017-04-03 21:13
    已采纳

    It finally works with this

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

    </div>
    
    点赞 评论
  • drrhr20884 2017-04-03 12:45

    I hope this code will work.

    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>

    </div>
    
    点赞 评论

相关推荐 更多相似问题