当我通过Phonegap加载我的网络应用程序并发出网页请求(通过AJAX或其他方式)时,根本没有设置REFERRER HTTP标头。这会干扰某些第三方网站的功能。如何让REFERRER标头发送?
(我正在使用Phonegap 3.5.0-0.20.10)
答案 0 :(得分:2)
正如@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);
});
答案 1 :(得分:1)
HTTP请求通过webview / chromeview(Android)和UIWebView(iOS)处理。在JS / HTML级别上无法更改它。我认为你可以通过调整Cordova层来实现它,不利的一面是,你必须为你支持的所有平台做到这一点。
见:
您可以编写一个与JS / HTML代码接口的插件,以确定何时发送自定义HTTP REFERRER。
修改强>
对于iOS,这里有一个干净的示例代码,其中包含您需要的内容: