我的代码在Safari 6.1.2上的Mac OS Lion操作系统以外的浏览器上完全正常。
以下是我使用的ajax post -
$.ajax({
type: 'POST',
dataType: 'text/html',
url:"/MyProxy.php",
data:{"server":"mydomain.com", "user":"vijay", "passd":"highly@secret"},
error: function(data) {
console.log(data);
alert("Failure - "+data);
return;
},
success: function(data) {
console.log("Success - "+data);
parseInformation(data);
}
});
为了调试目的,我在我的PHP服务器代码中添加了日志记录。
header('cache-control: no-cache');
function getRealPOST() {
$pairs = explode("&", file_get_contents("php://input"));
$vars = array();
foreach ($pairs as $pair) {
$nv = explode("=", $pair);
$name = urldecode($nv[0]);
$value = urldecode($nv[1]);
$vars[$name] = $value;
}
return $vars;
}
echo "-------";
var_dump($_POST);
echo "-------";
print_r(getRealPOST());
在Safari上,控制台日志显示的内容类似于-
-------array(2) {
["userName"]=>
string(5) "vijay"
["passwd"]=>
string(4) "hig"
}
-------Array
(
[
serverAdd] => mydomain.com
[userName] => vijay
[passwd] => hig
)
有没有猜测为什么只有Safari表现出这种行为,即使在iPad / iPhone和其他使用Safari作为浏览器的操作系统中,我也遇到了这个截断问题。我还阅读过一篇帖子,人们在这些情况下也面临着类似的问题,但是,在那些情况下,他们的请求非常大,而我的请求则非常小。
需要帮助吗?