我有数据
var data = [];
data['upnp_enabled'] = $("#upnp-switch").val();
当我console.log(data);
时,[upnp_enabled: "true"]
我试图通过 AJAX
向我的控制器发出 PUTvar ajax = $.ajax({
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('value')},
url: '/' + currentCPE + '/vlan/' + currentPageVLAN + '/upnp',
type: 'PUT',
contentType: "application/json; charset=utf-8",
dataType: "json",
data: data
//data: JSON.stringify(data) <---- I even tried this, same result !!
});
ajax.done(function (data) {
parseMsgData(data, "Setting saved");
console.log(data);
});
然后在我的控制器中,我有这个
public function update_upnp($cpe_mac, $vlan_id){
$inputs = Input::all();
dd($inputs);
}
我一直进入网络标签&gt;的 XHR
[]
我期望看到dd($inputs);
[upnp_enabled: "true"]
有人可以填写我错过的内容吗?
答案 0 :(得分:1)
在您的控制器中,您需要以下
确保您使用的是请求类。 :
使用App \ Http \ Requests;
您需要通过您的方法接受请求作为参数
public function update_upnp($cpe_mac, $vlan_id, Request $request){
dd($request->attribute);
}
祝你好运
答案 1 :(得分:1)
确定。首先,请求应该是(注意数据是JSON而不是数组):
var data = {};
data['upnp_enabled'] = $("#upnp-switch").val();
var ajax = $.ajax({
headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('value')},
url: '/' + currentCPE + '/vlan/' + currentPageVLAN + '/upnp',
type: 'PUT',
contentType: "application/json; charset=utf-8",
dataType: "json",
data: data
//data: JSON.stringify(data) <---- I even tried this, same result !!
});
ajax.done(function (data) {
parseMsgData(data, "Setting saved");
console.log(data);
});
在您的控制器中,您可能需要具有以下内容:
use Illuminate\Http\Request;
public function update_upnp($cpe_mac, $vlan_id, Request $request){
return $request->input();
}
希望它有所帮助!