【发布时间】:2014-09-26 11:25:27
【问题描述】:
当我通过 Phonegap 加载我的网络应用程序并发出网络请求(通过 AJAX 或其他方式)时,根本没有设置 REFERRER HTTP 标头。这会干扰某些第三方网站的功能。如何发送 REFERRER 标头?
(我使用的是Phonegap 3.5.0-0.20.10)
【问题讨论】:
标签: cordova xmlhttprequest referrer
当我通过 Phonegap 加载我的网络应用程序并发出网络请求(通过 AJAX 或其他方式)时,根本没有设置 REFERRER HTTP 标头。这会干扰某些第三方网站的功能。如何发送 REFERRER 标头?
(我使用的是Phonegap 3.5.0-0.20.10)
【问题讨论】:
标签: cordova xmlhttprequest referrer
正如@JamesWong 所说,现在有一个名为cordovaHttp 的插件可用于所有平台。
您可以使用cordova plugin add https://github.com/wymsee/cordova-HTTP.git 命令添加该插件,然后您可以添加任何http 标头,如下所示。
cordovaHTTP.post("https://google.com/, {
id: 12,
message: "test"
}, { Authorization: "OAuth2: token" }, function(response) {
// prints 200
console.log(response.status);
try {
response.data = JSON.parse(response.data);
// prints test
console.log(response.data.message);
} catch(e) {
console.error("JSON parsing error");
}
}, function(response) {
// prints 403
console.log(response.status);
//prints Permission denied
console.log(response.error);
});
【讨论】:
cordovaHTTP 库并设置自定义标头?
<img src="/path/image.jpg">生成的请求,那就不可能了。
HTTP 请求通过 webview/chromeview (Android) 和 UIWebView (iOS) 处理。无法在 JS/HTML 级别更改它。我认为您可以通过调整 Cordova 层来实现它,但不利的一面是,您必须针对您支持的所有平台进行此操作。
看这个:
您可能可以编写一个与您的 JS/HTML 代码交互的插件,以确定何时发送自定义 HTTP REFERRER。
编辑
对于 iOS,这里有一个干净的示例代码,其中包含您需要的内容:
【讨论】: