Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.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
Php Ajax响应中的奇怪字符_Php_Javascript - Fatal编程技术网

Php Ajax响应中的奇怪字符

Php Ajax响应中的奇怪字符,php,javascript,Php,Javascript,我从一个web服务得到了一个Ajax响应,我不确定它的特征是什么。我需要将它们转换为ASCII/UTF-8等效格式,但我不知道从哪里开始 一些字符的示例如下: \x3d1 \x26pf \x3dp \x26s \x3dpsy \x26 原始JSON响应来自Google Suggest: {e:"-5vsTZHOF8yo8QPK1YisAQ",c:1,u:"http://www.google.co.uk/s?hl\x3den\x26pq\x3dbbc\x26xhr\x3dt\x26q\x3dc\

我从一个web服务得到了一个Ajax响应,我不确定它的特征是什么。我需要将它们转换为ASCII/UTF-8等效格式,但我不知道从哪里开始

一些字符的示例如下:

\x3d1
\x26pf
\x3dp
\x26s
\x3dpsy
\x26
原始JSON响应来自Google Suggest:

{e:"-5vsTZHOF8yo8QPK1YisAQ",c:1,u:"http://www.google.co.uk/s?hl\x3den\x26pq\x3dbbc\x26xhr\x3dt\x26q\x3dc\x26cp\x3d1\x26pf\x3dp\x26sclient\x3dpsy\x26source\x3dhp\x26aq\x3d\x26aqi\x3d\x26aql\x3d\x26oq\x3d\x26pbx\x3d1\x26bav\x3don.2,or.r_gc.r_pw.\x26fp\x3d10b19ece71d55c8f\x26biw\x3d1280\x26bih\x3d554\x26tch\x3d1\x26ech\x3d1\x26psi\x3dv5vsTd78IMKvhQez9fCmCA.1307352340620.1",d:"[\x22c\x22,[[\x22c\\u003Cb\\u003Eurrys\\u003C\\/b\\u003E\x22,0,\x220\x22],[\x22c\\u003Cb\\u003Eomet\\u003C\\/b\\u003E\x22,0,\x221\x22],[\x22c\\u003Cb\\u003Ebbc\\u003C\\/b\\u003E\x22,0,\x222\x22],[\x22c\\u003Cb\\u003Eineworld\\u003C\\/b\\u003E\x22,0,\x223\x22],[\x22c\\u003Cb\\u003Earphone warehouse\\u003C\\/b\\u003E\x22,0,\x224\x22]],{j:1}]"}/*""*/{e:"-5vsTZHOF8yo8QPK1YisAQ",c:0,u:"http://www.google.co.uk/s?hl\x3den\x26pq\x3dbbc\x26xhr\x3dt\x26q\x3dc\x26cp\x3d1\x26pf\x3dp\x26sclient\x3dpsy\x26source\x3dhp\x26aq\x3d\x26aqi\x3d\x26aql\x3d\x26oq\x3d\x26pbx\x3d1\x26bav\x3don.2,or.r_gc.r_pw.\x26fp\x3d10b19ece71d55c8f\x26biw\x3d1280\x26bih\x3d554\x26tch\x3d1\x26ech\x3d1\x26psi\x3dv5vsTd78IMKvhQez9fCmCA.1307352340620.1",d:""}/*""*/

我想你应该试试这个函数

我想你应该试试这个看起来像URL编码字符的函数。通常你不需要转换任何东西。例如,如果您从AJAX调用中获得以下字符串:

var x = '\x3d1\x26pf\x3dp\x26s\x3dpsy\x26';
如果您尝试打印它:

alert(x);
它应显示正确的值:

=1&pf=p&s=psy&

看起来像是URL编码的字符。通常你不需要转换任何东西。例如,如果您从AJAX调用中获得以下字符串:

var x = '\x3d1\x26pf\x3dp\x26s\x3dpsy\x26';
如果您尝试打印它:

alert(x);
它应显示正确的值:

=1&pf=p&s=psy&


你会得到什么样的回应?JSON、XML、CSV?虽然我们可以猜测编码方法,但如果您告诉我们服务器声称数据的内容类型是什么,完整的响应是什么样的,以及您如何在JS中解析它,可能会更好。有一个很好的机会,你应该使用一个合理的解码器作为整体响应(而不是专注于这个小片段)。如果您控制响应,那么最好的解决方案可能是在响应中切换到标准数据格式,而不是您现在正在做的任何事情。您有原始响应吗?我得到了一个JSON响应,这是预期的,但是我不知道如何转换字符。当你解析字符串时,你的JSON库应该为你转换它们。您是如何解析JSON的?您应该得到什么样的响应?JSON、XML、CSV?虽然我们可以猜测编码方法,但如果您告诉我们服务器声称数据的内容类型是什么,完整的响应是什么样的,以及您如何在JS中解析它,可能会更好。有一个很好的机会,你应该使用一个合理的解码器作为整体响应(而不是专注于这个小片段)。如果您控制响应,那么最好的解决方案可能是在响应中切换到标准数据格式,而不是您现在正在做的任何事情。您有原始响应吗?我得到了一个JSON响应,这是预期的,但是我不知道如何转换字符。当你解析字符串时,你的JSON库应该为你转换它们。您是如何解析JSON的?如果我输出整个JSON字符串,则不会转换任何字符。@Riess Howder,这很正常。您必须将此JSON字符串解析为javascript对象,例如,如果您计算
u
属性,它将显示正确的值。我没有收到任何错误,只有NULL。@Riess Howder,在您展示的示例中,您有两个不同的JSON字符串,它们之间用
/***/
分隔。也许这就是问题所在。啊,是的。谢谢你,达林。如果我输出整个JSON字符串,就不会转换任何字符。@Riess Howder,这很正常。您必须将此JSON字符串解析为javascript对象,例如,如果您计算
u
属性,它将显示正确的值。我没有收到任何错误,只有NULL。@Riess Howder,在您展示的示例中,您有两个不同的JSON字符串,它们之间用
/***/
分隔。也许这就是问题所在。啊,是的。谢谢你,达林。