我需要通過按鈕單擊將數據通過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嘗試回答下面....並讓我知道,如果它的工作 –