php获取jquery.ajax传递的变量值。

一只老菜鸟 2012-03-02 04:27:14

<script type="text/javascript">
function ajaxSubmit(form){
$.ajax({
url: "submit.php",
type: "post",
data: {param1:form.param1.value,
param2:form.param2.value,
param3:form.param3.value,
param4:form.param4.value
},
dataType: "json",
contentType: "application/json;charset=utf-8",
success:function(data){
//测试参数值
alert(data);
},
error:function(e){
alert('ajax hava an error');
},
complete:function(e){
}
});
}
</script>
<form name="myform" onsubmit="ajaxSubmit(this)">
<input type="hidden" name="param1" value="" />
<input type="hidden" name="param2" value="" />
<input type="hidden" name="param3" value="" />
<textarea name="param4" rows="" cols="" class="textarea"></textarea>
<input type="submit" name="submit" value="发布" />
</form>
<!--
表单的默认值
//param1 --- 类似"string_2342_3200"格式的一个字符串
//param2 --- 这里是32位的英文和字母组合的字符串
//param3 --- 有一串中文字(类似留言的标题),长度不超过50个汉字
//param4 --- 一大串中文字(类似留言的内容),长度不超过500个汉字
-->



$param1 = $_POST["param1"];
$param2 = $_POST["param2"];
$param3 = $_POST["param3"];
$param4 = $_POST["param4"];
$array = array($param1,$param2,$param3,$param4);
echo json_encode($array)


为什么我通过PHP获取不到任何值呢?而且有时候不错误提示的时候获取的是空值,错误提示的时候比较多,怎么会有时错误有时不错误提示呢?是因为dataType的问题吗?
另外我想问一下jquery的ajax的data参数每个参数值的长度是否有限制?get方式我知道有限制,post的有限制吗?限制的长度是多少?
...全文
552 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
showbaixue 2012-03-03
  • 打赏
  • 举报
回复
1.contentType: "application/json;charset=utf-8" 没有这种写法 去掉
2.<form name="myform" onsubmit="ajaxSubmit(this)"> 改为<form name="myform" onsubmit="ajaxSubmit(this);return false;">否则会跳转 例子的话应该是刷新
一只老菜鸟 2012-03-03
  • 打赏
  • 举报
回复
现在就怀疑是contentType的问题
一只老菜鸟 2012-03-03
  • 打赏
  • 举报
回复
1,ajax参数的,但可能值写的不对。我试过去掉了,去掉了以后直接就ajax报错,会调用error的
2,这个没关系的,因为我其实return false也写在ajaxSubmit函数里了,跳转这个是没问题的。
一只老菜鸟 2012-03-02
  • 打赏
  • 举报
回复
我前面的js少写了一个return false,其实过程和你的一样。
差别是我这边不能通过id来获取,只能通过form来获取表单项的值。
而且目前来说,在前台的js里,我的那些个值都可以取得到。

问题是出现在通过jquery.ajax传递到php的时候php获取不到。
coder 2012-03-02
  • 打赏
  • 举报
回复

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xi="http://www.w3.org/2001/XInclude">
<head>

<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />

<script type="text/javascript" src="http://lib.sinaapp.com/js/jquery/1.6/jquery.min.js"></script>

</head>
<div>

<script type="text/javascript">
function ajaxSubmit(){
$.ajax({
url: "index.php",
type: 'POST',
data: {
param1:$("#param1").val(),
param2:$("#param2").val(),
param3:$("#param3").val(),
param4:$("#param4").val()
},
success:function(data){
//测试参数值
alert(data);
},
error:function(e){
alert('ajax hava an error');
},
complete:function(e){
}
});

}
</script>
<form name="myform" >
<input type="hidden" name="param1" id="param1" value="1" />
<input type="hidden" name="param2" id="param2" value="2" />
<input type="hidden" name="param3" id="param3" value="3" />
<textarea name="param4" rows="" cols="" class="textarea" id="param4"></textarea>
<input type="button" name="submit" value="发布" onclick="ajaxSubmit();return false;"/>
</form>
</div>
</body>
</html>

呵呵,弱弱的改了一下

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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