【发布时间】:2017-08-30 01:44:51
【问题描述】:
我需要在单击按钮时通过 JS 将数据发送到 Laravel 控制器。我没有使用任何形式,因为数据是动态创建的。 每次我尝试发送数据时,都会收到内部服务器错误 (500),但无法在控制器或 laravel.log 文件中捕获该异常。
这就是我正在做的事情:
路线:
Route::post('section/saveContactItems', 'SectionController@saveContactItems');
控制器:
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 我试过了,但也没有成功......
-
好的...让我们试试下面的@ShaktiPhartiyal 回答...如果它有效,请告诉我
标签: php jquery ajax laravel laravel-5