gpt4 book ai didi

javascript - Laravel 4 无法从 Angular Ajax 获取数据

转载 作者:行者123 更新时间:2023-12-03 11:48:08 25 4
gpt4 key购买 nike

我正在尝试在 Laravel 4 和 Angular JS 中开发我的应用程序,我的应用程序允许用户通过文本更改通过系统检索他们的信息。

Angular 用于将用户输入的数据传递给 Laravel,Laravel 又从数据库中检索信息。

但是 Laravel 无法检索从 Angular 传递的数据。

查看

<div data-ng-controller="ReservationController">
<input id='ERI' type='text' data-ng-model="scanRID" data-ng-change="queryRes()" name='exampleInput' maxlength='3' />
</div>

Angular 工厂

app.factory('exampleFactory', function($http) {
var factory = {};
factory.getExample = function(scanRID) {
return $http({
method: 'GET',
url: LARAVEL_CONTROLLER + 'Example',
data: $.param(scanRID)
});
};
return factory;
});

Angular Controller

app.controller('exampleController', function($scope, $http, exampleFactory) {
$scope.queryRes = function() {
if($scope.scanRID.length == 3) {
exampleFactory.getExample($scope.scanRID)
.success(function (data) {
// Do Something Here
})
.error(function (data) {
console.log(data);
});
}
};
});

Laravel 4 路线

Route::get('Example', 'ExampleController@show');

Laravel 4 示例 Controller

class ExampleController extends \BaseController {

public function show()
{

$id = Input::get('scanRID'); // This here might be wrong. It's always empty!

$data = ExampleModel::find($id); // Able to query and retrieve.

return Response::JSON($data); // Returns empty.
}

}

Laravel 4 示例模型

class ExampleModel extends Eloquent {

// The id of this table is what I want, but I can't retrieve it.
protected $fillable = ['id', 'ExampleData1', 'ExampleData2'];

protected $table = 'exampleTable';
}

我到处寻找解决方案,似乎每个人都能够成功进行Ajax调用。我认为我错过了一些我没有意识到的事情。

我也尝试过设置 CSRF token ,但是,我认为这不是问题。所以我最后的手段是求助于专家,希望有人能够帮助我。

顺便说一句,我对 Laravel 和 Angular 还很陌生,所以如果您确实发布了解决方案,请向我解释一下这个问题,因为我想了解有关 Angular 和 Laravel 的更多信息。

感谢您查看我的问题。

最佳答案

您没有通过 scanRID 参数传递 scanRID 的值,而是仅传递不带参数的值。因此,您尝试使用 Input::get('scanRID');scanRID 获取值,但没有 scanRID 参数。应该是这样,你没有得到值:)

 return $http({
method: 'GET',
url: LARAVEL_CONTROLLER + 'Example',
data: $.param({scanRID:scanRID}) //Change Here
});

或者

return $http({
method: "GET",
url: LARAVEL_CONTROLLER + 'Example',
params: {scanRID:scanRID} //Change Here
);

这样改

关于javascript - Laravel 4 无法从 Angular Ajax 获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25956624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com