Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.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
Angularjs 跨源请求被阻止-Laravel_Angularjs_Laravel 4_Ionic Framework - Fatal编程技术网

Angularjs 跨源请求被阻止-Laravel

Angularjs 跨源请求被阻止-Laravel,angularjs,laravel-4,ionic-framework,Angularjs,Laravel 4,Ionic Framework,我已尝试从ionic(angularjs)应用程序访问(获取请求)我的laravel api。 但它不断出现错误 Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://128.xxx.xxx.xx/mobi/check/?username=achchu&apikey=1N7GyYRfq8bQnrFCCGgL 请帮助我修复此问题您正在尝试从一

我已尝试从ionic(angularjs)应用程序访问(获取请求)我的laravel api。 但它不断出现错误

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://128.xxx.xxx.xx/mobi/check/?username=achchu&apikey=1N7GyYRfq8bQnrFCCGgL

请帮助我修复此问题

您正在尝试从一个域访问api到另一个域。 有很多方法可以解决这个问题,但由于它是一个get请求,所以请使用**jsonp*

试试这样的

   var url = ' http://128.xxx.xxx.xx/mobi/check/?username=achchu&apikey=1N7GyYRfq8bQnrFCCGgL&callback=JSON_CALLBACK';
                $http.jsonp(url)
                .success(function(data) {

                });

此响应基于这样一个事实,即您似乎可以控制服务端代码。 您是否在响应中添加了CORS支持?如果你没有这样做,它可能是这样的

您可以这样添加处理程序:

Route::head("/<path to resource>", function () {
    $r = Response::make("hello");
    //Access-Control-Allow-Origin: http://api.bob.com
    // Access-Control-Allow-Credentials: true
    $r->header("Access-Control-Allow-Origin", "<*|client request domain>")
    ->("Access-Control-Allow-Credentials", "true")
    ->("Access-Control-Request-Method", "GET");

});
Route::head(“/”,函数(){
$r=回应::打招呼(“你好”);
//访问控制允许来源:http://api.bob.com
//访问控制允许凭据:true
$r->header(“访问控制允许原点”,“”)
->(“访问控制允许凭据”,“true”)
->(“访问控制请求方法”、“GET”);
});
也许你可以在自己发送的响应上设置这个标题,我不确定。如果这是可能的,并且您可能会在多条路线上使用这种东西,那么您最好将其作为过滤器准备。有关CORS的更多信息,请访问

如果要发送的是json数据,请考虑为响应提供服务以支持jsonp。你可以这样做:

   $normalData = Model::all();

   // if the client made a jsonp style request
   if (Input::has("callback")) {
        $data = "<script>" . Input::get("callback") . "(" . json_encode($normalData) . ")";
       return Response::make($data)->header("Content-Type", "appplication/javascript");
   }else {
       //if not then return normally
       return Response::json($normalData);
   }
$normalData=Model::all();
//如果客户机发出jsonp样式的请求
if(输入::has(“回调”)){
$data=”“.Input::get(“回调”)。(“.json_encode($normalData)。”);
返回响应::make($data)->标题(“内容类型”、“应用程序/javascript”);
}否则{
//如果没有,则正常返回
返回响应::json($normalData);
}

这个问题显示出完全缺乏任何研究工作。此特定错误中的主题不难在web上搜索。您不应该使用SO作为第一行调试工具,而应该首先在自己身上付出一些努力来解决您的问题,至少要理解它们的含义。。。。试试谷歌。。。错误术语会带来很多结果。除非api正在为jsonp提供服务,否则您不能随意请求jsonp?不确定。。我使用回调使用jsonp,它在所有情况下都有效。不管怎样,我都会研究它。不过谢谢你的反馈。