【发布时间】:2015-05-26 21:23:53
【问题描述】:
我整个上午都在尝试解决这个问题,但我似乎无法在网上找到任何工作方法。
我正在尝试向我的 Laravel 控制器发出一个简单的 ajax 请求并获取它发送的数据。我已将其简化到最大程度,但仍会收到带有“未定义”数据的 ERROR 500。
似乎网上的每个例子都是关于 Laravel 4.0 的,我不确定他们是否改变了一些东西,但似乎没有一个有效。我还尝试将路由更改为“任何”,它适用于直接访问,但不适用于 ajax 请求。
谢谢。
控制器:
<?php namespace App\Http\Controllers;
use Session, DB, Request;
class AjaxController extends Controller {
public function question()
{
print_r("Made It");
die();
}
}
路线:
Route::post('/ajax/question', 'AjaxController@question');
Javascript:
$.ajax({
url: "/ajax/question",
method: 'POST',
data: { 'answered': '1' },
processData: false,
contentType: false,
cache: false,
success: function(data) {
console.log(data);
console.log("success");
},
error: function(data) {
console.log(data);
console.log("error");
}
});
console.log(data) 给出以下内容:
readyState
4
responseText
""
status
500
statusText
"Internal Server Error"
abort
function(e)
always
function()
complete
function()
done
function()
error
function()
fail
function()
getAllResponseHeaders
function()
getResponseHeader
function(e)
overrideMimeType
function(e)
pipe
function()
progress
function()
promise
function(e)
setRequestHeader
function(e, t)
state
function()
statusCode
function(e)
success
function()
then
function()
编辑: 如果我将请求更改为 GET 它可以正常工作。 (将路线设置为任意)
【问题讨论】:
-
尝试从您的 $.ajax 请求中删除
processData和contentType。 -
@Musa 刚试过,没有运气。
-
您运行的是什么版本的 jQuery?因为在 1.9 之前,您的
method参数实际上应该被称为typeapi.jquery.com/jquery.ajax
标签: php jquery ajax laravel laravel-5