php+ajax+jquery后台程序处理

来源:互联网 发布:it培训机构 知乎 编辑:程序博客网 时间:2024/06/06 00:59

其实这个是接着上一个ajax的处理。

这几篇文章其实都是为了这个小的淘宝应用服务的。

昨天做了预览,今天贴出生成图片的那个ajax。

实际上图片处理这块一开始就讲过了,以下两篇文章。一个是优化的一个未优化的。

http://blog.csdn.net/pengli2014/article/details/20768921

http://blog.csdn.net/pengli2014/article/details/20805673

光说不练假把式。上代码。

css代码,实际比昨天的多出来了一段。

table { font-size:12px; border:1px solid #dedede; margin:0 auto; }table tr td { border: 1px solid #B1CDE3; background: #fff; font-size:12px; padding: 3px 3px 3px 8px; color: #4f6b72; }table tr .title { text-align:left; }.window { width:480px; background-color:#d0def0; position:absolute; padding:2px; margin:5px; display:none; } .window2 { position:absolute; display:none; background-color:#d0def0; width:450px; height:200px; line-height:200px; font-size:20px; color:red; text-align:center; }.window .close { position:absolute; right:0px; top:0px; width:40px; height:20px; text-align:center; color:red; font-weight:bold; cursor:pointer; }
close按钮,实际不是一个按钮,想怎么变,自己改css样式吧。

生成图片的混编代码。

<td><a href="javascript:create_picture('<?php echo $v['gid']; ?>')">仅图片生成</a></td>

jquery代码和ajax

function create_picture(id){$.ajax({url:"create_pic.php",data:{ gid: id },dataType:"json",beforeSend:function(){//alert("before!");$(".window2").attr("display","block").html("图片生成中,请稍等………").css("top","30%").css("color","red").css("left","40%").slideToggle("slow"); },complete:function(data,status){//alert("success!");$(".window2").html("图片生成完毕了!").css("color","green").hide(3000); }})}

最后是create_pic.php代码

$gid = isset($_GET['gid'])? $_GET['gid'] : exit("paramer error");//商品id$goods = new Goods($c,$sessionKey);$itemInfo = $goods->getGoodsInfo($gid);if(isset($itemInfo['item']['item_imgs'])){$itemPic = $itemInfo['item']['item_imgs']['item_img'];foreach($itemPic as $k => $v){$imgs[] = $v['url'];}}else{exit("商品图片不存在!");}/*$imgs = array("http://img03.taobaocdn.com/imgextra/i3/444857673/T2kr2kXApXXXXXXXXX-444857673.gif","http://img01.taobaocdn.com/imgextra/i1/444857673/T22SfkXClXXXXXXXXX-444857673.jpg","http://img03.taobaocdn.com/imgextra/i3/444857673/T22gMPXkRaXXXXXXXX_!!444857673.jpg");*/$width = 480;$dir = "temp_pic\\".$gid."\\";/*开始生成图片*/if(!is_dir($dir)){mkdir($dir);}else{echo "目录已经存在";}$picName = "1-".$gid.".jpg";$picObject = new Picture2($imgs,$dir);$picArr = $picObject->createPicWithByWidth($width);$mark = $picObject->joinPic($picArr,$width,$picName);$pic = $picObject->picToCode($dir.$picName);//2进制$dbObject = new Db('goods_info');if($mark){$where = " WHERE gid='".$gid."'";$dbObject->update(array("status"=>1,"picture"=>$pic,"create_pic_time"=>time()),$where);//更新商品状态。$dbObject->mysql_close();}


其实这段代码不需要返回什么,就是处理就好。

ok,先贴这么多,我优化代码之后会贴出更新的版本。

我觉得success一直没有成功,原来是返回数据的类型在作怪。

换成如下的jquery代码。

function create_picture(id){$.ajax({type:"GET",url:"create_pic.php",data:{ gid: id },dataType:"html",beforeSend:function(){alert(1111);$(".window2").attr("display","block").html("图片生成中,请稍等………").css("top","30%").css("color","red").css("left","40%").slideToggle("slow"); },success:function(data){alert(data);$(".window2").html("图片生成完毕了!"+data).css("color","green").hide(3000); },error:function(XMLHttpRequest, textStatus, errorThrown){alert(textStatus);}})}

dataType: "html",

返回的数据类型千万要注意了。

另外状态顺序是,before,success,error,complete.

(最后编辑:2014年3月15日12:12:48)




0 0