ホームページ  >  に質問  >  本文

angular.js - angularjs $http.get无法跨域问题

很简单的段$http.get向接口请求数据的方法。但是就是不知道什么原因,一直提示无法跨域。请问该怎么解决?(PS:在另外一个页面加入API_HOST_URL后,post值到那个路径,没有报过任何无法跨域的报错,但是同样的复制过来,在get方法下却不管用)

function togetpNo($scope,$http){
    var array=$scope.array;
    $http.get(API_HOST_URL+'/ss/test.do?pNo='+array)
     .success(function(data){
 alert(data);
 }).error(function(e){
 alert('请求失败了');
 })
}

报错内容:
XMLHttpRequest cannot load http://datatest.dev:8081/ss/test.do?pNo=h01,h02. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8080' is therefore not allowed access.

改成用jsonp写:

 $http.jsonp(API_HOST_URL+"/ss/test.do?jsonp=JSON_CALLBACK&pNo="+array)

报错:Uncaught SyntaxError: Unexpected token :

phpcn_u1582phpcn_u15822713日前605

全員に返信(3)返信します

  • 给我你的怀抱

    给我你的怀抱2017-05-15 16:53:47

    1) クロスドメインは、使用されているフレームワークの種類とは関係ありません。
    (追記: API_HOST_URL を別のページに追加した後、投稿値はそのパスに移動し、クロスドメイン エラーは報告されませんが、同じですコピーされて get で使用されます。メソッドは機能しません) 他のページ はあなたのページと同じドメインですか? 別のページで get/jsonp を使用する場合も同じ問題ですか? 2) JSONP を使用した後、返されたデータの内容が JSON 形式の要件を満たしているかどうかを確認してください。満たしていない場合は、同様のエラーが報告されます
    。 キャッチされない構文エラー: 予期しないトークン:

    返事
    0
  • 高洛峰

    高洛峰2017-05-15 16:53:47

    いくつかのヘッダーを追加する必要がある場合があります:

    リーリー

    返事
    0
  • PHP中文网

    PHP中文网2017-05-15 16:53:47

    クロスドメインを使用する場合は、jsonp が優先され、サーバーが通常の js 構文形式でそれを返すようにしてください
    たとえば、戻り値は次のようになります:
    var test = {"status":1,"data":5};

    返事
    0
  • キャンセル返事