【问题标题】:Receive data with jQuery POST ajax request and Laravel 4使用 jQuery POST ajax 请求和 Laravel 4 接收数据
【发布时间】:2014-02-14 10:37:23
【问题描述】:

我正在尝试在新的 Laravel 4 应用中使用旧的 Laravel 3 代码。

当我发送 ajax 发布请求时,我无法接收数据。

查看:

   request = $.ajax({
        url: "/clients/jsonbyname/",
        type: "POST",
        data: {
                "name": "hi"
              }
    });

   request.done(function (res, textStatus, jqXHR){
        if (res.status = "ok"){     
        console.log(res);
       }
   }

路线:

Route::get('/clients/jsonbyname', 'Clients@postJsonbyname');

改为:(更新)

Route::post('/clients/jsonbyname', 'Clients@postJsonbyname');

控制器:

public function postJsonbyname(){
    return dd(Input::get('name'));
}

旧:我无法收到“名称”数据,我收到了 NULL。 更新:控制台给我 404 错误

这在 Laravel 3 中工作,我不知道出了什么问题。

谢谢

【问题讨论】:

  • 如果在浏览器中手动点击/clients/jsonbyname,结果如何?
  • POST 请求不能与 url 中的最后一个斜杠一起使用。将url: "/clients/jsonbyname/", 更改为网址:"/clients/jsonbyname",

标签: php jquery ajax laravel-4


【解决方案1】:

你的路线说它得到,但你正在发布它。将其更改为Route::post(...) 或从客户端更改您的请求以获取:

type: "GET",

【讨论】:

  • 好的,我转至 Route::post('/clients/jsonbyname', 'Clients@postJsonbyname');,现在控制台给我 404 :/
  • 您的Clients 类是否在根命名空间中?
  • 我不使用命名空间。无论如何...使用 GET 我可以访问
  • url: "/clients/jsonbyname/", 进行重定向。
  • url: "/clients/jsonbyname", 是解决方案
【解决方案2】:

您在 ajax 调用中发出“POST”请求,但您期待的是 GET 请求。使用 GET 请求。

   request = $.ajax({
        url: "/clients/jsonbyname/",
        type: "GET",
        data: {
                "name": "hi"
              }
    });

   request.done(function (res, textStatus, jqXHR){
        if (res.status = "ok"){     
        console.log(res);
       }
   }

【讨论】:

    【解决方案3】:

    您正在向 GET 路由发送 POST 请求。

    【讨论】:

      猜你喜欢
      • 2016-03-01
      • 1970-01-01
      • 2013-07-08
      • 2023-03-29
      • 2016-11-12
      • 1970-01-01
      • 2020-01-11
      • 2016-10-14
      • 1970-01-01
      相关资源
      最近更新 更多