Javascript 成功的ajax脚本不会';别给我答复

Javascript 成功的ajax脚本不会';别给我答复,javascript,php,jquery,ajax,laravel,Javascript,Php,Jquery,Ajax,Laravel,一般的问题是,我无法从另一个文件返回echo或通过ajax返回。警报(msg)为空。这会阻止.default停止发送GET吗?我编程不是很流利,你能帮我吗 我有我的简单表格: <form class='findAndBlock1' method="GET" action=""> <input type='text' name="nameToBlock1" placeholder=" who do you want to block?" class='nameInp

一般的问题是,我无法从另一个文件返回echo或通过ajax返回。警报(msg)为空。这会阻止.default停止发送GET吗?我编程不是很流利,你能帮我吗

我有我的简单表格:

<form class='findAndBlock1' method="GET" action="">
    <input type='text' name="nameToBlock1" placeholder="    who do you want to block?" class='nameInput'>
    <input type='submit' value="Search" class='submitInput1'>
</form>
以下是通过ajax运行的脚本:

   public function searchFriendsToBlock() {

        $q = Input::get('nameToBlock');
        if (strlen($q) < 3)
            return null;

        $users = DB::table('users')->where //here goes some long request

        foreach ($users as $user) {

            if (!$user->f_first_name_public)
                $user->first_name = "";
            if (!$user->f_last_name_public)
                $user->last_name = "";

            $user->avatar = User::getUserAvatar($user->id);
            $user->id = "";
            $user->type = "user";
            $newArr[] = $user;
        }
        echo "hello";
        return Response::json($newArr);
    }
公共函数searchFriendsToBlock(){
$q=输入::get('nameToBlock');
如果(斯特伦($q)<3)
返回null;
$users=DB::table('users')->其中//出现了一些长请求
foreach($users作为$user){
if(!$user->f\u first\u name\u public)
$user->first_name=“”;
if(!$user->f\u last\u name\u public)
$user->last_name=“”;
$user->avatar=user::getUserAvatar($user->id);
$user->id=“”;
$user->type=“user”;
$newArr[]=$user;
}
回音“你好”;
返回响应::json($newArr);
}

在以
json
格式发送响应时,在ajax请求中使用
dataType
参数
jQuery.ajax()中将默认的
dataType
设置为
html


$(“.submitInput1”)。单击(函数(){
event.preventDefault();
$.ajax({
键入:“获取”,
数据类型:“json”,
url:“/searchFriendsToBlock”,
数据:{
},
成功:功能(msg){
警报(消息类型);
},
错误:函数(错误){
警报(“错误”);
}
});
});
你的剧本应该是这样的

public function searchFriendsToBlock() 
{                                  
    $q = Input::get('nameToBlock'); 
    if (strlen($q) < 3)
        return null;

    $users = DB::table('users')->where //here goes some long request
    $response  = array();
    foreach ($users as $user) {
        if (!$user->f_first_name_public)
            $user->first_name = "";
        if (!$user->f_last_name_public)
            $user->last_name = "";

        $user->avatar = User::getUserAvatar($user->id);
        $user->id = "";
        $user->type = "user";
        $newArr[] = $user;
    }
    $response['type'] = 'sussess';    
    $response['data'] = $newArr;    
    return Response::json($response);
}
公共函数searchFriendsToBlock()
{                                  
$q=输入::get('nameToBlock');
如果(斯特伦($q)<3)
返回null;
$users=DB::table('users')->其中//出现了一些长请求
$response=array();
foreach($users作为$user){
if(!$user->f\u first\u name\u public)
$user->first_name=“”;
if(!$user->f\u last\u name\u public)
$user->last_name=“”;
$user->avatar=user::getUserAvatar($user->id);
$user->id=“”;
$user->type=“user”;
$newArr[]=$user;
}
$response['type']='sussess';
$response['data']=$newArr;
返回响应::json($Response);
}

您的preventDefault无论如何都不起作用。在类似
函数(事件)
中添加事件,请执行console.log(msg)@Pekka这在不使用全局事件模型的FF上是正确的,因此ya,OP应该将
事件作为处理程序回调传递parameter@Pekka此prevent.default使表单不刷新我的页面。好的,我正在检查console.lognow@WantToBeProgrammer该事件是否至少有约束力?调试它并查看。控制台(网络一)出错?您确定您获得了成功吗?谢谢您的回答。添加数据类型后,我看到“null”警报。还有这个.keyInJson(我真的应该添加它吗?控制台说它是未定义的)。该死的编程很难>>@WantToBeProgrammer这应该是你的关键,谢谢。看起来它现在起作用了,但答案是空的,对吗?这是否意味着仍然有问题?@WantToBeProgrammer我已经更新了代码,请检查它是否不工作,尝试使用echo-Response::json($Response);而不是返回响应::json($Response);
   public function searchFriendsToBlock() {

        $q = Input::get('nameToBlock');
        if (strlen($q) < 3)
            return null;

        $users = DB::table('users')->where //here goes some long request

        foreach ($users as $user) {

            if (!$user->f_first_name_public)
                $user->first_name = "";
            if (!$user->f_last_name_public)
                $user->last_name = "";

            $user->avatar = User::getUserAvatar($user->id);
            $user->id = "";
            $user->type = "user";
            $newArr[] = $user;
        }
        echo "hello";
        return Response::json($newArr);
    }
<script>
    $(".submitInput1").click(function(){

        event.preventDefault();

        $.ajax({
            type: "GET",
            dataType: "json",
            url: "/searchFriendsToBlock",
            data: {

            },
            success : function(msg) {
                alert(msg.type);
            },
            error : function(error) {
                alert('error');
            }
        });

    });
</script>
public function searchFriendsToBlock() 
{                                  
    $q = Input::get('nameToBlock'); 
    if (strlen($q) < 3)
        return null;

    $users = DB::table('users')->where //here goes some long request
    $response  = array();
    foreach ($users as $user) {
        if (!$user->f_first_name_public)
            $user->first_name = "";
        if (!$user->f_last_name_public)
            $user->last_name = "";

        $user->avatar = User::getUserAvatar($user->id);
        $user->id = "";
        $user->type = "user";
        $newArr[] = $user;
    }
    $response['type'] = 'sussess';    
    $response['data'] = $newArr;    
    return Response::json($response);
}