关于$post datatype:json出错,真心求教,自己已经瞎搞差不多一天了

jackple 2014-11-21 10:20:46
HTML
<input id="add0" name="id" type="hidden" value="<?php echo $archive->id;?>"/>
<input id="add0" name="title" type="hidden" value="<?php echo $archive->title;?>"/>
<input id="add0" name="priceper" type="hidden" value="<?php echo $archive->thisprice;?>"/>
<input id="add0" name="dw" type="hidden" value="<?php echo $archive->thisunit;?>"/>
<input id="add0" name="parentid" type="hidden" value="<?php echo $archive->parentid;?>"/>
<input id="add0" name="image" type="hidden" value="<?php echo $archive->thispic0;?>"/>
<input id="add0" type="text" name="querity" class="spinnerExample"/>
<a href="javascript:void(0);" class="buyitnow" style="text-decoration: none; color:#fff;">立即购买</a>

<script>
$(document).ready(function(){
$(".buyitnow").click(function(){
var cont=$("#add0").serialize();
var id=$("#myform input[name='id']").val();
var title=$('#myform input[name="title"]').val();
var priceper=$("#myform input[name='priceper']").val();
var querity=$("#myform input[name='querity']").val();
var dw=$("#myform input[name='dw']").val();
var parentid=$("#myform input[name='parentid']").val();
var image=$("#myform input[name='image']").val();
$.ajax({
url:"myorder_sub.php",
type:"post",
data:cont,
dataType:"json",
success:function(data){
alert(data.title);
window.location.href="<?php echo base_url();?>index.php/member/post/myorder_sub";
},
error:function(){
alert('失败');
}
});

});
})
</script>

接收程序代码
<?php

$id=$_POST['id'];
$title=$_POST['title'];
$priceper=$_POST['priceper'];
$querity=$_POST['querity'];
$dw=$_POST['dw'];
$parentid=$_POST['parentid'];
$image=$_POST['image'];
$json_arr = array("id"=>$id,"title"=>$title,"priceper"=>$priceper,"querity"=>$querity,"price"=>$price,"dw"=>$dw,"parentid"=>$parentid,"image"=>$image);
$json_obj = json_encode($json_arr);
echo $json_obj;
?>
我jQuery刚学,都做到想哭了,求大神指教
...全文
517 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2014-11-22
  • 打赏
  • 举报
回复
.....
   data:cont,
//   dataType:"json",
           success:function(data){
   alert(data);
//   window.location.href="<?php //echo base_url();?>index.php/member/post/myorder_sub";
   },
就可看到问题出在哪里 ....
jackple 2014-11-22
  • 打赏
  • 举报
回复
还是没解决,有大神在吗
jackple 2014-11-22
  • 打赏
  • 举报
回复
引用 1 楼 showbo 的回复:
serialize是表单对象的方法,其他对象没有,会报错 你的输入对象放表单中,jquery选中表单再调用serialize方法
我按照你的说法在input的外层设置了一个form,然后把var cont=$("#add0").serialize();写成var cont=$("#form").serialize(); 可是还是不行
Go 旅城通票 2014-11-22
  • 打赏
  • 举报
回复
引用 8 楼 jackple 的回复:
引用 7 楼 xuzuning 的回复:
那就不对了,既然你打算传递 json 数据,怎么能有 html 呢?
我说错了,是datatype为text的时候才alert出html, json时候直接回调error
你的php页面返回值有问题。。指定为json你返回html肯定是error回调 自己看下html内容是什么,依据html内容定位你的php页面错误
闪闪放光芒 2014-11-22
  • 打赏
  • 举报
回复
我感觉是你数组当中有空值所以转换成JSON对象时出错了你把数组都加上引号试试 ("id"=>"$id","title"=>"$title","priceper"=>"$priceper","querity"=>"$querity","price"=>"$price","dw"=>"$dw","parentid"=>"$parentid","image"=>"$image");
jackple 2014-11-22
  • 打赏
  • 举报
回复
引用 7 楼 xuzuning 的回复:
那就不对了,既然你打算传递 json 数据,怎么能有 html 呢?
我说错了,是datatype为text的时候才alert出html, json时候直接回调error
xuzuning 2014-11-22
  • 打赏
  • 举报
回复
那就不对了,既然你打算传递 json 数据,怎么能有 html 呢?
jackple 2014-11-22
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
.....
   data:cont,
//   dataType:"json",
           success:function(data){
   alert(data);
//   window.location.href="<?php //echo base_url();?>index.php/member/post/myorder_sub";
   },
就可看到问题出在哪里 ....
alert出来的是页面的html信息
Go 旅城通票 2014-11-22
  • 打赏
  • 举报
回复
进入success还是error回调了?进入error输出错误信息看看 ,error(xhr){ alert('ERROR\n'+xhr.responseText) }
Go 旅城通票 2014-11-21
  • 打赏
  • 举报
回复
serialize是表单对象的方法,其他对象没有,会报错 你的输入对象放表单中,jquery选中表单再调用serialize方法

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧