我正在尝试使用window.location将长字符串变量传递给另一个页面(fillDB.php)
window.location = "fillDB.php?encoding_str=" + JSON_encoding_str;
但字符串没有完全传递给fillDB.php,这里是fillDB.php中的代码:
$encoding_str = json_decode($_REQUEST['encoding_str']);
echo $encoding_str;
字符串已打印但不完整,我不知道问题出在哪里!
我已为编码字符串指定了值:
encoding_str += isSimilar_DB(game)+","+reaction[3]+";";
然后使用JSON.stringify:
var JSON_encoding_str = JSON.stringify(encoding_str);
让事情清楚:
isSimilar_DB(game)
是一个返回长字符串的函数 和
reaction[3]
返回ID
传递整个字符串JSON_encoding_str时,反应[3]被正确打印但返回的字符串(isSimilar_DB(游戏))不完整
编辑:我已解决了这个问题。我认为问题是字符串的长度或URL的限制长度,但我发现问题是从isSimilar(游戏)函数返回的字符串包含少于字母"<&#34 ;,所以打印字符串直到它到达"<"并停止,我仍然不知道原因,但任何方式我取代"<"用" ="它工作得很好。谢谢大家。
答案 0 :(得分:0)
网址有字符限制。它对于不同的浏览器来说是不同的。 总的来说,你不应该有超过2000个字符的网址。 您可以查看此主题:What is the maximum length of a URL in different browsers? 如果超过此限制,您的网址将会被删除。