【问题标题】:Laravel 4 jquery Ajax RequestLaravel 4 jquery Ajax 请求
【发布时间】:2013-07-08 18:58:58
【问题描述】:

我是 Laravel 4 的新手。我有一个页面,其中有 3 个选项卡(基本上是大的可点击 div)来加载不同的用户信息。我想做的是我希望能够单击这些选项卡,发出 jquery ajax 请求,带回部分视图并使用该部分视图更新页面的一部分。我希望能够为每个标签做到这一点。

我触发了点击事件。我还尝试了不同的代码来完成 ajax 请求。出于某种原因,什么都没有发生。我不知道我是否在 route.php 中遗漏了一些东西。谁能给我一些关于如何做到这一点的代码?或者可能是其他想法?

我这样做了::

Route.php

Route::post('userInfo','UserController@showInfo');

jqueryAjax:

$("divtoUpdatePartialView").click(function(){

$.ajax({
  type: "POST",
  url:Not Sure,
  data: { id: userId }
}).done(function( msg ) {
  alert( msg );
});

}

我也尝试使用 Base Url,但没有任何反应。我在我的母版页上声明了一个 ajax 库。你能帮我或给我一些其他的想法吗?

非常感谢您的回答。我试过这样,这就是我所拥有的......

Route.php:

Route::get('user_Profile/userInfo', 'UserController@getshow');

ajax:

var  userId='1';

$.ajax({
    type: "POST",
    url: 'user_Profile/userInfo',
    data: { id: userId }
}).done(function( msg ) {
    alert( "the messageis "+msg );
});


My userController::

public function getshow()
    {
           return "No ajax";
    if (Request::ajax()) {

        return "yeahhhh";
    $html=View::make('user.userProfile')->nest('partial', 'user.userInfoPartial')-        >with('title',$title)->render();


}
}

当我直接访问页面时,我收到“没有 ajax”,但是当我尝试 ajax 方式时,什么都没有发生。你能看到我错过了什么吗??

再次感谢您的帮助..

【问题讨论】:

  • 当您在开发工具/firebug 中检查网络选项卡时,ajax 请求是否实际发送?

标签: ajax laravel


【解决方案1】:

url 应该是您在 route 中使用的路径/模式,在本例中是

userInfo

ajax

$.ajax({
    type: "POST",
    url: 'userInfo',
    data: { id: userId }
}).done(function( msg ) {
    alert( msg );
});

另外,请确保您可以使用浏览器的地址栏直接访问该页面

http://yourdomain.com/userInfo

【讨论】:

  • 非常感谢您的回答。能否请您查看我上面的回复并帮助我解决我做错了什么?再次感谢
  • 我明白了!!!!!!问题是我必须使用 GET 而不是 POST,因为我的路线是 Route::get....非常感谢..它帮助了我很多....
  • @user2569653,但在你的问题中你有Route::post('userInfo','UserController@showInfo);
  • @Sheikh-我很抱歉,但我指的是我使用“get”的代码的第二部分。无论如何,只要路由和 ajax 发布类型匹配,两者都可以工作。谢谢.感谢您的宝贵时间。
【解决方案2】:

return 语句应该放在 if 语句之后;

   public function getshow(){

    if (Request::ajax()) {
        $html=View::make('user.userProfile')->nest('partial', 'user.userInfoPartial')-        >with('title',$title)->render();
        return "yeahhhh";
    }
           return "No ajax";
}

返回语句退出函数,这意味着任何进一步的代码都不会被执行:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-15
    • 2014-08-30
    • 2014-02-14
    • 2014-07-25
    • 2016-11-25
    • 1970-01-01
    • 2015-08-10
    • 1970-01-01
    相关资源
    最近更新 更多