Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从JavaScript获取响应头错误?_Javascript_Php_Laravel - Fatal编程技术网

如何从JavaScript获取响应头错误?

如何从JavaScript获取响应头错误?,javascript,php,laravel,Javascript,Php,Laravel,使用Laravel- abort(403, 'This is an exception message.'); 如何从JavaScript访问此消息 // Get the project based on projectID. $.ajax({ type: 'GET', url: '/api/projects/getProject/' + projectID }).done(function(response){ ProjectStore.getProjectSucce

使用Laravel-

abort(403, 'This is an exception message.');
如何从JavaScript访问此消息

// Get the project based on projectID.
$.ajax({
    type: 'GET',
    url: '/api/projects/getProject/' + projectID
}).done(function(response){
    ProjectStore.getProjectSuccessful(response);
}).error(function(error){
    console.log(error)
});

我的
error
对象有一个
statusText
属性“禁止”,还有一个
responseText
属性,它包含整个HTML(在其中我可以看到我的错误消息)-但是有没有一种简单的方法可以从我的error对象访问该消息,而无需通过HTML解析?

我发现
abort()
函数接受第三个参数-数组-并通过响应头向上发送

So-PHP中的更新代码:

$error = 'User not authorized to view project.'; 
abort(401, $error, array('errorText'=>$error));
在我的JavaScript中:

// Get the project based on projectID.
$.ajax({
    type: 'GET',
    url: '/api/projects/getProject/' + projectID
}).done(function(response){
    ProjectStore.getProjectSuccessful(response);
}).error(function(error){
    console.log(error.getResponseHeader('errorText'));
});

禁止
是一个http错误,错误代码403。所以你实际上得到了错误-检查你是否有正确的权限我很糟糕-我正在使用
中止(403,“这是一条异常消息”)
-这就是为什么它显示“禁止”。我仍然不确定如何在不经过作为响应返回的HTML的情况下访问消息本身。