首页 > php教程 > php手册 > 正文

php与jquery开发注意事项

WBOY
发布: 2016-06-06 19:47:25
原创
852 人浏览过

一、编码问题 jquery默认是utf-8编码的,如果php.ini的default-charset=utf-8就最好了,那么php源码件的以utf-8无BOM编码为宜;若php.ini的default-charset=gbk,那么php源码以ANSI式编码为宜; 源码编码与php的default-charset不一致会导致中文显示乱码 二、

一、编码问题

      jquery默认是utf-8编码的,如果php.ini的default-charset=utf-8就最好了,那么php源码件的以utf-8无BOM编码为宜;若php.ini的default-charset=gbk,那么php源码以ANSI格式编码为宜;

      源码编码与php的default-charset不一致会导致中文显示乱码

php与jquery开发注意事项


二、$.post()方法

       访方法比$.ajax常用,需要更多的配置可以$.ajax;

        传出参数可加入多如myhash:(new Date()).getTime+Math.random()参数,以解决使用缓存的问题

        在gbk编码环境中,php接收到的参数若含用中文,还需要用iconv("utf-8","gb2312",para1)解码;前端接收到返回json后,若json中含有中文,则需要在function(data){}中,使用 unescape方法对data的中文解码;

		$tmpfile=$additionname."(".date( "Y-m-d",time())." {$_SESSION['LOGIN_USER_ID']}).zip";
        $tmpfileutf8=iconv("gb2312","utf-8",$tmpfile);
登录后复制



三、json问题

       php后端代码返回的结果可采用echo json_encode(数组对象) 返回json给前端,前端接收后采用$.parseJSON(mydata);解析

 $.post('downloadfile.php',
			{ myhash:(new Date()).getTime+Math.random(),
			  cgym:mycgym,
              reqtype:reqtype,
			  findtype:id,
			  selectrunid:selectrunid
			},
			function(data){
				var mydata=unescape(data);       			
				var resultjson=$.parseJSON(mydata);
				if (resultjson.ErrMsg==''){
					window.location=resultjson.downfile;
				} else {
					alert(resultjson.ErrMsg);
					return false;
				}				
			},'text');	
    }    
登录后复制
 $result=array("ErrMsg"=>"","downfile"=>"/tmp/{$tmpfileutf8}");
        if (file_exists($zipfile)) unlink($zipfile);
        if(!file_exists($zipfile)){ 		//重新生成文件  
		    $zip = new ZipArchive();//使用本类,linux需开启zlib,windows需取消php_zip.dll前的注释  
            if ($zip->open($zipfile, ZIPARCHIVE::CREATE | ZIPARCHIVE::OVERWRITE)!==TRUE) { 
                $result["ErrMsg"]="无法打开文件,或者文件创建失";
                echo json_encode($result);
            	die();  
            } 
             foreach( $filedata as $val){  
            	 $attachfile = $this->attachdir.$val;    //获取原始文件路径         
            	 if(file_exists($attachfile)){
            	    $oldname=basename($attachfile);   
            	    $splitidx=strpos($oldname,".");
                    $oldname=substr($oldname,$splitidx+1);
            		$zip->addFile( $attachfile ,$oldname);//第二个参数是放在压缩包中的文件名称,如果文件可能会有重复,就需要注意一下  
            	}  
             }  
             $zip->close();//关闭
		}  
		if(!file_exists($zipfile)){  
            $result["ErrMsg"]="压缩文件未正确创建失败";
            echo json_encode($result);
            die();  //即使创建,仍有可能失败。。。。  
		}        
        echo json_encode($result); 
登录后复制




来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!