2015-06-29 77 views
0

我試圖從quran.com取古蘭經的一些英語翻譯使用下面的鏈接一所大學的項目:有潛在危險的Request的值(:)

http://quran.com/quran/ajax?s=1&sA=1&eA=8&l=12C6

此鏈接當在瀏覽器中輸入返回正確的結果,但是當我嘗試使用我的角度方法這個環節我得到的錯誤:

A potentially dangerous Request.Path value was detected from the client (:) 

角方法:

Qt.Link = "http://quran.com/quran/ajax?s=1&sA=1&eA=8"; 
Qt.GetTranslation = function() { 
     $http.get("/"+Qt.Link).success(function (result) { 
      Qt.display = result; 
     }).error(function (data) { 
      toastr["error"](data); 

     }); 
    }; 

在互聯網上搜索後,我發現,這是因爲在網址一些無效字符,或者因爲不正確地傳遞參數,就像所示here的。

  • 如果鏈接在瀏覽器中工作,爲什麼它不能與Angular方法一起使用?

  • 我該如何解決這個問題?

任何幫助將不勝感激。謝謝

+1

你可以嘗試正確記錄變量Qt.Link中的內容嗎? (在做http.get之前) –

+0

對不起,我更新了這個問題... –

+0

你確定你的&和?不要逃脫?您可能需要通過S,A,EA和我爲得到參數'{EA:8,S:1,SA:1,1: 「12C6」}' – Tschallacka

回答

5

什麼$http.get("/"+Qt.Link)將嘗試加載是:

 
/http://quran.com/quran/ajax?s=1&sA=1&eA=8 

這導致/意味着它會試圖從你的服務器加載

要獲得http://quran.com/quran/ajax?s=1&sA=1&eA=8,取出/

需要注意的是,如果這是客戶端(因爲它似乎),你可能會碰到Same Origin Policy,只允許原點內XHR請求,除非請求的目標明確支持Cross-Origin Resource Sharing和股起源(或所有起源)。

如果該服務旨在用於客戶端的代碼,他們將有一個頁面告訴你如何去做(JSONP或類似的)。如果不是的話,你就必須查詢與發送到您的服務器作爲參數,並讓您服務器的要求去做,以quran.com然後給你發回響應。

相關問題