我需要通过按钮单击将数据通过JS发送到Laravel控制器。我没有使用任何形式,因为数据是动态创建的。 每次我尝试发送数据时,都会收到内部服务器错误(500),但无法捕获控制器或laravel.log文件中的异常。Laravel:通过AJAX将数据发送到控制器不带表格
下面是我在做什么:
路线:
Route::post('section/saveContactItems', '[email protected]');
控制器:
public function saveContactItems($id, $type, $items, $languageID = "PT"){ ... }
JS:
$('button').on("click", function (evt) {
evt.preventDefault();
var items = [];
var id = $("#id").val();
var languageID = $("#languageID").val();
var data = { id: id, type: type, items: JSON.stringify(items), languageID: languageID };
$.ajax({
url: "/section/saveContactItems",
type: "POST",
data: data,
cache: false,
contentType: 'application/json; charset=utf-8',
processData: false,
success: function (response)
{
console.log(response);
}
});
});
我到底做错了什么?我怎样才能做到这一点?
更新:感谢@ ShaktiPhartiyal的answer(和@ Sanchit的帮助)我能解决我的问题。如果有其他人遇到类似的问题,在遵循@ Shakti的答案之后,我无法访问控制器中的数据。所以,我不得不把它发送到服务器之前字符串化数据:
data: JSON.stringify(data),
当您使用POST,你必须通过'csrf_token'场... –
@sanchitGupta我已经试过了,但不成功太... – Ricky
好吧......让我们从@ShaktiPhartiyal尝试回答下面....并让我知道,如果它的工作 –