将 Ajax 响应分配给 php 变量
Posted
技术标签:
【中文标题】将 Ajax 响应分配给 php 变量【英文标题】:Assign Ajax response to php variable 【发布时间】:2016-12-14 02:28:15 【问题描述】:如果可能的话,如何将我的 ajax 响应分配给 php 变量?
在我的 Laravel 控制器中,我有这个方法:
public function editProductPost(Request $request)
return response()->json([
'sliderValue' => $request->get('value')
]);
这是我的 Ajax:
/**
* Ajax Post
*/
$.ajaxSetup(
headers:
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
);
$.ajax(
type: 'post',
contentType: "application/json",
url: " Route('editProductPost', $product->id) ",
headers:
'X-Requested-With': 'XMLHttpRequest'
,
data: JSON.stringify(
value: getSliderVal,
productId : getPrId
),
datatype: 'json',
success: function(response)
// get response
console.log(response.sliderValue)
【问题讨论】:
你在说什么? ajax转php?抱歉,什么都不懂…… @eisbehr 我得到了正确的 ajax 响应,我想创建一个 php 变量来保存每个 ajax 调用中的值 我很确定你不明白client-side
和server-side
是什么意思?! javascript 在浏览器中运行,php 在您的服务器上运行。你不能在 js 中设置一个 php 变量......你可以做的是扩展你的 editProductPost
并在那里做一些其他的工作。
您不能将 Ajax 响应分配给 PHP 变量
【参考方案1】:
如果我对你的理解正确,你想做这样的事情:
public function editProductPost(Request $request)
// Create your JSON response
$response = response()->json([
'sliderValue' => $request->get('value')
]);
// Assign the content of the response to a variable
$responseContent = $response->content();
// Return your response
return $response;
【讨论】:
在视图中如何称呼它? 什么意思?我认为您误解了服务器端代码(PHP/Laravel)和客户端代码(html/Javascript/CSS)之间的区别。你到底想达到什么目的? 我想在我的视图中的 php 循环中使用该变量,例如 for($i = 0; $i 如果你想那样做,那么 AJAX 不是要走的路。在发出 AJAX 请求时,PHP 已经运行并呈现了视图。您可以在 Javascript for 循环中使用 AJAX 调用中返回的变量来执行某些操作。像这样function(response) for (var i=0; i < response.sliderValue; i++) /*Do something*/
以上是关于将 Ajax 响应分配给 php 变量的主要内容,如果未能解决你的问题,请参考以下文章
在将查询响应分配给模型字段时丢失大量的ember-data类属性