簡體   English   中英

不存在“ Access-Control-Allow-Origin”標頭

[英]No 'Access-Control-Allow-Origin' header is present

我正在使用angular.js使用Cordova為移動設備制作ReSTful應用。 對於服務器端,我正在使用苗條的Framework.all根據本教程:( http://www.angularcode.com/user-authentication-using-angularjs-php-mysql/

但是,當我將api文件夾上傳到服務器時,會發生錯誤:所請求的資源上沒有'Access-Control-Allow-Origin'標頭。 因此,不允許訪問源“本地主機”。 響應的HTTP狀態碼為404。

我已閱讀有關添加“ Access-Control-Allow-Origin”的信息,並根據此鏈接實施了該信息: http : //help.slimframework.com/discussions/problems/810-no-subject

$app->get('/session', function() {
    **$response->header('Access-Control-Allow-Origin', '*');**  
    $db = new DbHandler();
    $session = $db->getSession();
    $response["uid"] = $session['uid'];
    $response["email"] = $session['email'];
    $response["name"] = $session['name'];
    echoResponse(200, $session);
});

也嘗試過

$app->get('/session', function() {
    **$session->header('Access-Control-Allow-Origin', '*');**  
    $db = new DbHandler();
    $session = $db->getSession();
    $response["uid"] = $session['uid'];
    $response["email"] = $session['email'];
    $response["name"] = $session['name'];
    echoResponse(200, $session);
});

我仍然收到相同的錯誤。

->最后一行也是正確的嗎? echoResponse(200, $session);

先感謝您 :)

更新

我在Firefox和chrome上使用了相同的文件,而chrome能夠訪問服務器上的文件。 另外,cordova應用程序之前已經訪問了我服務器上的一個JSON文件,但現在無法正常工作。 調用代碼完全相同,即

.controller('ListController', ['$scope', '$http', function($scope, $http) {
  $http.get('js/data.json').success(function(product_data) {
    $scope.artists = product_data;
  });
}])

使用--disable-web-security標志打開Chrome。 這樣可以防止這種情況出現,並允許您在桌面上進行開發。

當Cordova / PhoneGap處於應用程序形式時,基本上可以為您完成此操作。 您可能需要四處看看,以查看如何使用標志打開它,具體取決於您所使用的操作系統。

另外, 請勿在啟用了標志的情況下繼續將瀏覽器用於正常活動 如果可能的話,還可以使用CLI打開新的用戶配置文件,這樣它就不會影響您現有的配置文件,也不會對您開放任何安全漏洞。

某些Web瀏覽器不允許來自localhost的CORS(或localhost的任何別名,如127.0.0.1)。 解決方案是使用非本地url訪問它。

可能有效的網址之一就是您的IP地址。

如果您不想使用您的IP地址(可能是因為它是每次連接時由路由器隨機分配的),則可以通過修改/etc/hosts (或Windows\\System32\\Drivers\\etc\\hosts )來為您分配一個偽造的域。視窗)。

例如,將其添加到/etc/hosts

127.0.1.1   thismachine

然后,您可以通過在Web瀏覽器中鍵入http://thismachine來訪問Web服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM