cordova中的xmlhttprequest通过HTTPS导致空帖

时间:2016-10-26 21:14:26

标签: cordova https xmlhttprequest

在我的cordova app中,当我向服务器发送xhr POST请求时,当我通过SSL完成连接时,$ _POST变量为空。我的开发版本服务器不在SSL下,一切正常,另一方面,在我的运行版本中,有一个有效的SSL证书,$ _POST变量是空的。

在config.xml中,我有allow-navigation href =“*”,我没有错误地到达erver。

JS代码:

var newName = 'John Smith',
xhr = new XMLHttpRequest();
xhr.open('POST', url);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.onload = function() {
    if (xhr.status === 200 && xhr.responseText !== newName)
        console.log( xhr.responseText);
    else if (xhr.status !== 200)
        console.log('Request failed.  Returned status of ' + xhr.status);
};
xhr.send(encodeURI('name=' + newName));

PHP代码:

print_r($_POST);

当网址为http:

时的结果
Array
(
    [name] => John Smith
)

但是当网址为https:

Array
(
)

问题是为什么它是空的,我该怎么做才能得到它?谢谢!

1 个答案:

答案 0 :(得分:0)

以下是我找到的解决方案,我必须将目标网址从https://my-domain.com更改为https://www.my-domain.com 我想这是由于两个名称之间的服务器重定向导致我的POST数据丢失。