2013-03-15 48 views
0

發出的信件點擊按鈕時,我已在服務器上如何獲得在軌控制器PUT PARAMS使用jquery.ajax

(function() { 
$("#btnStep2").click(function() { 

    number = $('#btnStep2').attr('number'); 
    var dataString='number='+number+'&reserved='+$('#rd'+number).is(':checked')+'&environment=qa1'; 
    alert(dataString); 
$.ajax({ 
    type: "PUT", 
    url: "/tnrepos/"+number, 
    contentType: "application/text; charset=utf-8", 
    beforeSend: function(xhr) {xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'))}, 
    data: dataString, 
    success: function(data){ 
     alert("update successfully"); 

    }}); 
    return false; 
}); 
}); 

是看

Started PUT "/tnrepos/12345" for 127.0.0.1 at 2013-03-15 11:38:03 -0700 
Processing by TnreposController#update as */* 
    Parameters: {"id"=>"12345"} 

,但我沒有看到過的其它參數。 。

在控制器

I打印PARAMS

"action"=>"update", "controller"=>"tnrepos", "id"=>"12345"} 

爲什麼沒有其他參數?我測試了Firefox和Chrome。

回答

0
$.ajax({ 
    type: "PUT", 
    url: "/tnrepos/" + number, 
    contentType: "application/text; charset=utf-8", 
    beforeSend: function(xhr) {xhr.setRequestHeader('X-CSRF-Token', $('meta[name="csrf-token"]').attr('content'))}, 
    data: {data : dataString} , 
    success: function(data){ 
     alert("update successfully"); 

    }}); 
    return false; 
}); 
}); 

您可以在上面看到使用數據:「{data:dataString}」。

現在,你的params [:data]將會有dataString。

我會建議將它們作爲「{號:號,保留: $(‘#RD’+號)。是(‘:檢查’)},並用自己的名字一樣訪問這些控制器 上,則params [:編號],則params [:保留]!等

試試吧,讓我知道