Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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
jQuery1.4破坏了我的程序_Jquery_Ajax_Json - Fatal编程技术网

jQuery1.4破坏了我的程序

jQuery1.4破坏了我的程序,jquery,ajax,json,Jquery,Ajax,Json,我使用jqueryajax请求从数据库中提取html 但是,如果有一个单引号('),我会得到一个解析错误 常规引号可以正常工作(“) 例如,在我的数据库中,我有: style=font-family:"times' new roman" (我把“在测试之后”放在那里)随着“消失了,它工作了…” 我开始请求: $.ajax({ url: "phps/file.php?id="+id, dataType: "json", error: function(u

我使用jqueryajax请求从数据库中提取html

但是,如果有一个单引号('),我会得到一个解析错误

常规引号可以正常工作(“)

例如,在我的数据库中,我有:

style=font-family:"times' new roman"
(我把“在测试之后”放在那里)随着“消失了,它工作了…”

我开始请求:

$.ajax({
       url: "phps/file.php?id="+id,
       dataType: "json",
       error: function(uno,dos,tres){
我的php文件执行以下操作:

$code = mysql_real_escape_string($results['code']);
//return
header('Content-type: application/x-json');
echo '{';
echo '"code": "' . $code. '"';
echo '}';
jquery错误函数为我提供:

[object XMLHttpRequest]
parsererror
undefined
我认为这就是问题所在,但我不知道如何解决:

我们现在对传入的JSON非常严格,如果得到格式错误的JSON,就会抛出异常。 如果您需要能够计算格式错误的JSON(即有效的JavaScript),则可以发出文本请求并使用eval()计算内容


谢谢!

我会将您的PHP更改为:

header('Content-Type: application/json');
echo json_encode(array('code' => $code));

也就是说,将MIME类型更改为
application/json
,并使用PHP的本机而不是手动构建json。

我认为最好使用:

或者您可以将字符串中的“with\”替换为我所看到的有效JSON。
str\u replace(“\”,“\\”,$code)

或者,如果这两个选项都不起作用,则使用jQuery执行文本请求。不过,我不确定确切的语法


这个JSON验证器可能对您很有用:

如果您发送JSON,为什么不使用encode_JSON?您是否尝试过
JSON_encode
而不是自己做?-。您确定您不是在寻找
htmlentities
而不是
mysql\u real\u escape\u string
?请注意
style=font-family:times“new roman”
不是有效的HTML属性定义。HTML属性值必须被引用(不使用单引号或双引号),或者只能使用字符
a
-
z
a
-
z
0
-
9
-
(请参阅)。
header('Content-type: application/x-json');
echo json_encode($results);`