Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';t发送'+';ajax上的字符_Ajax_Character - Fatal编程技术网

Can';t发送'+';ajax上的字符

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

我有一个脚本,它使ajax请求传递3种不同的数据:eventName/ticketsToWin/totalWinners

我的整个过程都运行得很好,直到有了这个case:“SCi+Tec”作为eventName变量。以下是发送前的请求数据:

名称=Sci+Tec&ticketsToWin=1&totalWinners=2

但是,在PHP方面,如果我转储_GET数组,我有以下内容:

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)