【发布时间】:2021-11-21 12:41:36
【问题描述】:
我通过 ajax 将数组传递给控制器。控制器正在访问数组并成功返回响应。但我希望当控制器获取数组时它返回不同的视图(假设 A.blade.php),我可以在 A.blade.php 中使用该数组。
我看到很多回复,比如在success:function(){}中使用window.location="url",但它只会在没有数组的情况下进入查看。
唯一的目的是将数组传递给控制器,控制器返回另一个带有数组的视图,我不需要响应。
AJAX 函数
$(function(){
$('#but').click(function() {
alert("Button Click");
;
$.ajax({
type: 'get',
url: '/suck',
data: {arr},
success: function( data ) {
document.getElementById("p").innerHTML =data;
},
error: function(xhr, status, error) {
alert(error);
},
dataType: 'text'
});
});
});
控制器
public function getAjax(Request $req)
{
$input=$req->all();
// Here I want when controller access array it return another view with array and no need of response
return response()->json($input);
}
Routes.web.php
Route::get('/suck',[ajaxcontroller::class,'getAjax']);
【问题讨论】:
-
也许 Ajax 类型应该是 POST 而不是 GET?
-
我可以将 ajax 类型更改为 POST 但它不会解决问题。
-
你确定没有相同url
/suck的路由吗? -
上面提到了完整的必需代码。确保
/suck在 routes.web.php 中。 -
@MuteebZafar 不确定我理解。您只想更新 DOM 中的一个元素还是重定向浏览器?
标签: javascript php jquery ajax laravel