【发布时间】:2017-02-26 21:51:44
【问题描述】:
您好,我从我的 ajax 请求中得到了奇怪的答案。这是我的控制器返回其中一个 id 的方法:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
//use App\Http\Requests;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
use App\Source;
use Illuminate\Support\Facades\Redirect;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Response; //para user input post ajax
class RelationshipController extends Controller
{
public function __construct()
{
$this->middleware('auth');
}
public function getUserId()
{
return "123";
}
}
这是我的路线:
Route::group(['middleware' => ['web']], function () {
Route::post('/requestId', 'RelationshipController@getUserId');
});
Route::get('/home', 'HomeController@index');
Route::resource('relationship', 'RelationshipController');
这是我的 ajax 请求:
$("#consulta").click(function(){
$.ajax({
url: "requestId",
type: 'post',
data: {_token: CSRF_TOKEN, 'email': 'hihi'},
success: function (data) {
console.log(data);
}, error: function () {
alert("error!!!!");
}
});
});
我不知道为什么我会得到这个答案:
Object {message: ""}
message:""
__proto__:Object
这里有什么问题?路由组外的路由也不起作用。我在这里顺便说一句:
Route::get('/createrelationship2/{og}/{dest}/{xchange}', 'RelationshipController@createrelationship2');
如果我在“/public/createrelationship”上,则 ajax 调用有效,如果我在“/public/createrelationship2/10/5/1”上,则 ajax 调用无效。没看懂。。
【问题讨论】:
-
也许尝试返回一个有效的 JSON。
-
@jakubwrona 你是什么意思一个有效的json?不适用于简单的字符串?应该工作..
-
我猜你的 JS 库试图从你的控制器返回的 json 字符串构建一个 json 对象,但是你的控制器没有返回 json。
-
@jakubweona 我写了一个 json 响应,我得到了相同的答案
-
你能验证它是否到达控制器,在你的
getUserId()方法上,插入一个dd('reached controller');。在 chrome 上,开发人员工具搜索网络选项卡,看看它是否吐出dd()。