【问题标题】:Assign Ajax response to php variable将 Ajax 响应分配给 php 变量
【发布时间】: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 变量

标签: php jquery ajax laravel laravel-5.1


【解决方案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*/ } }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-19
  • 1970-01-01
  • 2023-03-26
相关资源
最近更新 更多