Ajax Post数据加号与连接符丢失

采用Ajax传递数据时,通常会将数据整理为data="var1=abc&var2=def"。而当数据中存在加号(+)或是连接符(&)时,服务器端接收数据时会有部分数据丢失现象。分析一下Ajax传递数据的格式与Javascript的语法不难发现:

1. "+"号:JavaScript解析为字符串连接符,所以服务器端接收数据时"+"会丢失。

2. "&":JavaScript解析为变量连接符,所以服务器端接收数据时&符号以后的数据都会丢失。

解决办法也相当简单,只需要为+与&符号编码即可: 查看详细内容…

版块:javascript笔记 Tags: 时间:2008-11-24 评论:(0)

打造CakePHP Ajax请求Action

在CakePHP的开发模式下,也就是Debug为2的时候,CakePHP会自动显示Sql查询语句及程序执行时间。当要用到Ajax去请求Action的时候难免会被这些语句干扰,使Javascript难解析出Ajax请求后的数据。为此可以这样来定义Ajax请求的action。

PHP代码
  1. function ajaxaciton() {   
  2.     $this->layout = '';   
  3.        
  4.     // 禁止自动Render,免去为此Action去建View的烦扰   
  5.     $this->autoRender = false;   
  6.        
  7.     // 手动定义为运营模式,去除debug信息   
  8.     Configure::write("debug", 0);   
  9.        
  10.     //以utf-8的文本模式输出   
  11.     header("Content-type: text/plain; charset=utf-8");   
  12.        
  13.     /*您的程序*/  
  14.        
  15.     // 输出整理后的数据   
  16.     echo $message;   
  17. }   
版块:Cake笔记 Tags: , , , 时间:2008-10-31 评论:(0)

生成Ajax对象 支持Ie Firefox Opera

生成Ajax对象 支持Ie Firefox Opera,代码如下:

Ajax代码
  1. function ajax() {   
  2.     var xmlHttp;   
  3.     try { // for firefox opera   
  4.         xmlHttp = new XMLHttpRequest();   
  5.     } catch (e) { // for ie   
  6.         var ieVersions = new Array("MSXML2.XMLHTTP.6.0",   
  7.                                    "MSXML2.XMLHTTP.5.0",   
  8.                                    "MSXML2.XMLHTTP.4.0",   
  9.                                    "MSXML2.XMLHTTP.3.0",   
  10.                                    "MSXML2.XMLHTTP",   
  11.                                    "Microsoft.XMLHTTP");   
  12.         for (var i = 0; i < ieVersions.length && !xmlHttp; i ++) {   
  13.             try {   
  14.                 xmlHttp = new ActiveXObject(ieVersions[i]);   
  15.             } catch (e) {   
  16.             }   
  17.         }   
  18.     }   
  19.     if (!xmlHttp) {   
  20.         return false;   
  21.     } else {   
  22.         return xmlHttp;   
  23.     }   
  24. }  
版块:javascript笔记 Tags: 时间:2008-08-23 评论:(0)