我正尝试使用以下链接从quran.com
获取一些大学项目的古兰经英语翻译:
http://quran.com/quran/ajax?s=1&sA=1&eA=8&l=12C6
在浏览器中输入此链接会返回正确的结果但是当我尝试在我的Angular方法中使用此链接时,我收到错误:
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方法?
我该如何解决这个问题?
任何帮助将不胜感激。谢谢
答案 0 :(得分: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请求,除非请求的目标特别支持{{3}并与您的来源(或所有来源)共享。
如果要从客户端代码中使用该服务,他们将会有一个页面告诉您如何操作(JSONP或类似代码)。如果不是,则必须向您的服务器发送查询,并将其作为参数发送给服务器,然后向quran.com
发送请求,然后送你回复。