當我對以下ajax請求使用POST方法時,它會拋出「Method not allowed」錯誤。如果我使用表單POST而不使用ajax,它會轉到正確的方法。如何在laravel和ajax中使用POST方法
在Router.php:
$this->post('TestPost','[email protected]');
看來,Ajax請求是:
$.ajax(
{
type: "POST",
url: 'TestPost',
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
cache: false,
success: function (data) {
alert('hid post');
SetHotandWorstData(data,'hotquantity');
},
error: function (msg) {
alert('error');
alert(msg.responseText);
}
});
在控制器:
function TestPostMethod(Request $request)
{
$hotworstsalesdata = DB::table('100_INVOICEDETAIL')
->select('100_INVOICEDETAIL.ITEMCODE','100_INVOICEDETAIL.ITEMNAME',
DB::raw('SUM("100_INVOICEDETAIL"."QTY") as
salesqty'), DB::raw('SUM("100_INVOICEDETAIL"."AMT") as salesamt'))
->groupBy('100_INVOICEDETAIL.ITEMCODE','100_INVOICEDETAIL.ITEMNAME')
->orderBy('salesqty')
->take(10)
->get();
return Datatables::of($hotworstsalesdata)->make(true);
}
也許Laravel是困惑,爲什麼你要發送JSON,當你可以只通過不使用郵政普通帖子陣列的字符串引號和刪除JSON內容類型?我知道Laravel有很多魔力,這是你決定使用它時會得到的東西之一。試試我說的話,看看會發生什麼。 –