Can';t发送'+';ajax上的字符
我有一个脚本,它使ajax请求传递3种不同的数据:eventName/ticketsToWin/totalWinners 我的整个过程都运行得很好,直到有了这个case:“SCi+Tec”作为eventName变量。以下是发送前的请求数据: 名称=Sci+Tec&ticketsToWin=1&totalWinners=2 但是,在PHP方面,如果我转储_GET数组,我有以下内容:Can';t发送'+';ajax上的字符,ajax,character,Ajax,Character,我有一个脚本,它使ajax请求传递3种不同的数据:eventName/ticketsToWin/totalWinners 我的整个过程都运行得很好,直到有了这个case:“SCi+Tec”作为eventName变量。以下是发送前的请求数据: 名称=Sci+Tec&ticketsToWin=1&totalWinners=2 但是,在PHP方面,如果我转储_GET数组,我有以下内容: array(4) { ["name"]=> string(7) "Sci Tec" ["tickets
array(4) {
["name"]=> string(7) "Sci Tec"
["ticketsToWin"]=> string(1) "1"
["totalWinners"]=> string(1) "2"
["_"]=> string(13) "1372359516001"
}
名称中缺少“+”字符,这会破坏后面的所有内容。知道为什么吗
丹 我很确定URL中使用加号而不是空格,就像在谷歌搜索中一样,您可以给出以下查询: “如何发送电子邮件” 它将在URL中显示为: “如何+发送+电子邮件” 尝试发布它。对字符串进行编码: name=Sci%2BTec&ticketsToWin=1&totalWinners=2 或更简单:
var str = 'name=Sci+Tec&ticketsToWin=1&totalWinners=2';
var encoded = encodeURIComponent(str);
请参见URL中的或this,查询字符串中的空格将自动替换为加号。因此,当服务器获得Sci+Tec时,它认为应该有一个空间。您需要使用其url编码%2B对其进行转义
关于Url编码的更多信息:您可以使用java Url编码或javascript编码器
URLEncoder.encode(yourString)