将 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-sideserver-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类属性

无法将 JSON 响应分配给预先声明的数组

如何将从webapi返回的自定义对象数组的HttpResponse响应分配给打字稿角度中相同数组类型的对象?

使用 JSON 响应快速调用函数时出错

lumen 6:如何在 lumen 上重构响应分页的数据?

Vue 旧阵列镜像新阵列