300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > ajax php 数组参数传递参数 jquery中ajax传递中文参数和js数组问题

ajax php 数组参数传递参数 jquery中ajax传递中文参数和js数组问题

时间:2020-04-12 13:11:07

相关推荐

ajax php 数组参数传递参数 jquery中ajax传递中文参数和js数组问题

要的效果就是:选择添加对话id,点击文本框,弹出添加对话的框,可以添加多组对话

如果下一对话的id不输的话添加后会自动更新为该添加对话的id+1及下个对话的id

提交后,弹出框自动消失,文本框中自动显示添加的第一个对话的id。我就使用了ajax进行传递。父页为task_detail.html 子页为acceptadd_select.htm因为没有找到在插入之前就能获取到该对话的ID的方法,所以这样做的:自动更新下一个对话的id的方法为:如果为空先添加,然后获取刚添加的键值:$id = mysql_insert_id();然后再更新刚才的数据

添加对话关闭在子页中使用ajax代码如下子页面中的提交按钮触发一个事件子页面中的jquery代码如下但在使用js的时候发现:一:js的数组定义为 var arr = new Array(); Array中的A一定要大些js数组转化为json格式的问题二:ajax传递的时候不能传递中文参数,而数字和字母都是可以的在网上查了好多资料,在传递的contentType:"application/x-www-form-urlencoded;charset=UTF-8", 加上charset=UTF-8也没起作用,最后将问题解决了1:第一种方法就是把数据放到数组中,将数组转化成json格式的传到后台,到php后台再用json_decode ,返回成php数组2:在使用ajax传递时,先将汉字用escape转变一下,传递到php后台时,如何将escape转换的进行解码呢?我在网上查了很多资料都没有用,最后找到了一个函数函数如下:function js_unescape( $str )

{

$ret = '';

$len = strlen($str);

for ($i = 0; $i < $len; $i++)

{

if ($str[$i] == '%' && $str[$i+1] == 'u')

{

$val = hexdec(substr($str, $i+2, 4));

if ($val < 0x7f) $ret .= chr($val);

else if($val < 0x800) $ret .= chr(0xc0 |($val>>6)).chr(0x80 |($val&0x3f));

else $ret .= chr(0xe0 |($val>>12)).chr(0x80 |(($val>>6)&0x3f)).chr(0x80 |($val&0x3f));

$i += 5;

}

else if ($str[$i] == '%')

{

$ret .= urldecode(substr($str, $i, 3));

$i += 2;

}

else $ret .= $str[$i];

}

return $ret;

}找了一个函数OK了函数如下:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。