ajax 与PHP json 传值

利用JS get 方式传值时用 encodeURIComponent 进行转码,在PHP端 直接利用正常的转码 iconv进行转码

 

另外jquery 的 ajax 传值后是 UTF-8的编码,在PHP端要进行转码

 

ajax 接收PHP 的json_encode 在 ajax 端进行 eval("("+data+")") 进行转码 ; 表单的传值 用 $("#form1").serialize() 进行序列化

如果ajax在IE在火狐下正常,在IE下返回 parseerror错误,但是返回stauts是200 可能是因为 header编码的问题,加上 header('Content-type: text/html; charset=gb2312'); 就可以了

 

调试错误信息使用方法 error:function (XMLHttpRequest, textStatus, errorThrown)  错误信息(第二个参数)除了得到 null 之外,还可能是 "timeout" , "error" , "notmodified" "parsererror"

 

XMLHttpRequest.readyState: 状态码
0 - (未初始化)还没有调用send()方法
1 - (载入)已调用send()方法,正在发送请求
2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了
 

 

 

kineditor 编辑器,注意要修改kineditor的文件编码,同时更改 嵌入部分 charset 编码要和文件编码一样,要不会出现各种问题。

你可能感兴趣的:(ajax 与PHP json 传值)