为什么在laravel5中json响应中有meta标签

时间:2016-01-11 14:29:47

标签: laravel-5.1

我非常困惑。请帮帮我。

我有这个java脚本代码:

vectors_list = []
for it in itertools.permutations(perm_vector):
    vectors_list.append(list(it))
df_vectors_list  = pd.DataFrame( vectors_list)
df_gb = df_vectors_list.groupby(list(df_vectors_list.columns)) 
vectors_list = pd.DataFrame(df_gb.groups.keys()).T

我的控制器中的Testajax函数负责回答上面的ajax请求。

$(document).ready(function(e) {
    $('#requestButton').click(function(e) {
        $.ajax({
                type: "POST",
                dataType:"json",
                data:{job:'propertyCreation' },
                url: "/testajax", //Relative or absolute path to response.php file
                success: function(data)
                {
                    alert(data.responseText);

                },//success
                error:function(e){
                    alert(e.responseText);
                }
            }//ajax
        );//ajax
    });
});

我希望回复是

public function testajax(Request $request)
{
    if ($request->isMethod('post')){
        $result=array('success'=>true,'response'=>$_REQUEST['job']);
	return json_encode($result);
    }

}

但响应是

{"success":true,"response":"propertyCreation"}

我很困惑为什么json响应中有元标记,结果错误不成功。抱歉我的英文不好,并提前感谢你

3 个答案:

答案 0 :(得分:0)

我已在Laraver 5.2中测试过您的代码,一切正常。 就一件事。根据JSON,你在JavaScript中有一点错误,警告"行:

// ...
success: function(data)
{
    // Should be => alert(data.response);
    alert(data.responseText); 
},//success
// ...

答案 1 :(得分:0)

我有多个路径文件,在第一个代码的两个路径文件中有这一行:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

删除这一行后,我的问题就解决了。

答案 2 :(得分:0)

如果你使用console.log(数据),返回值是什么?

仅供参考,您不应该使用json_encode在Laravel中发送JSON响应。只需return $someArray,它就会自动编码为JSON格式。