【发布时间】:2020-03-04 19:08:30
【问题描述】:
我在 $ajax 调用中传递了一个参数来链接控制器函数。
abc.blade.php
onClick 监听器内部---
$.ajax({
url: "{{route('getFordHedGpsLocationForSelectedRep')}}",
type: "GET",
dataType:"json",
data: {repc:repCode.trim()},
success: function (data)
{
alert("OK");
}
});
web.php
Route::get('getFordHedGpsLocationForSelectedRep', 'MapController@getFordHedGpsLocationForSelectedRep')->name('getFordHedGpsLocationForSelectedRep');
MapController.php
public function getFordHedGpsLocationForSelectedRep(Request $request)
{
$repCode = $request->get("repc");
$result = DB::select('select query to get data');
$temp = array();
$output = array();
$output1 = array();
foreach ($result as $key => $value)
{
if (trim($value->RepCode) == $repCode)
{
$temp['lat'] = $value->Latitude;
$temp['lng'] = $value->Longitude;
$temp['ref'] = $value->RefNo;
$temp['sTime'] = $value->startTimeSO;
$temp['eTime'] = $value->endTimeSO;
$temp['repCode'] = $value->RepCode;
$temp['debCode'] = $value->DebCode;
$temp['tAmt'] = $value->TotalAmt;
$temp['outDis'] = $value->OutDisVal;
$temp['debName'] = $value->DebName;
$temp['repName'] = $value->RepName;
$temp['qty'] = $value->Qty;
$temp['tDate'] = $value->TxnDate;
}
$output = isset($temp)?$temp:'';
}
$output1 = isset($output)?$output:'';
return view('selectedRepMap')->with(['repOrders'=> $output1]);
}
该控制器函数返回一个带有视图加载数据的视图 (selectedRepMap.balde.php)。不幸的是,在 abc.blade 上的单击事件后页面没有自动加载,但检查网络状态为“getFordHedGpsLocationForSelectedRep”功能($ajax 调用 url)获得了“200”,并在检查网络区域页面加载成功时双击该功能。
【问题讨论】:
-
这是因为您使用的是 ajax。它需要 json 输出。
-
当 ajax 请求成功时,你只是
alert("OK");但什么都不处理,先生 -
@Areg - 知道了。那么我必须使用没有json响应的ajax调用?
-
@Vo Kim Nguyen - 你说得对,先生...
-
如果
repOrders可以通过URL你可以简单地这样做
标签: javascript php ajax laravel-5