首页 > 后端开发 > php教程 > 关于ajax问题,在线等,先谢谢各位了

关于ajax问题,在线等,先谢谢各位了

WBOY
发布: 2016-06-23 13:52:33
原创
912 人浏览过

index.php页面有两个div,ID分别为div1,div2,对应的事件为:

$.ajax({		url: test.php,		type: 'post',		dataType:'text',		success: function (responseText) {			$('#div1').html(responseText);			$('#div2').html(responseText);		}	});
登录后复制

有没有办法将test.php页面返回的值分别放到div1,div2呢?我想到的是将返回的值用js来切隔,然后放到里面,还没有实践,不知行不行,如果可以,我觉得这样好像不是很好。请问有其他的方法吗?


回复讨论(解决方案)

完全可以,只是你要注意

responseText

里面,不能包含你需要切割的那个字符。


推荐你用json,这样比较方便些。就不会涉及切割了。

可以用 js 切割,但你得有唯一的切割标志吧?
不然把正文也切割了,就不美了

返回多个数据一般用 json

$res = array(  'div1' => '相关内容',  'div2' => '相关内容',)echo json_encode($res);
登录后复制
登录后复制
登录后复制

$.ajax({  url: 'test.php',  type: 'post',  dataType:'json',  success: function (data) {     $('#div1').html(data.div1);     $('#div2').html(data.div2);  }});
登录后复制
登录后复制
登录后复制

更一般的
$.post('test.php', {}, function(d) {  for(var i in d) $('#'+i).html(d[i]);}, 'json');
登录后复制
登录后复制
登录后复制

完全可以,只是你要注意

responseText

里面,不能包含你需要切割的那个字符。


推荐你用json,这样比较方便些。就不会涉及切割了。


为什么还“不能包含你需要切割的那个字符。”?比如说我得到的“中华人民共和国{|}国和共民人华中”,要有{|}这个才好切啊。

完全可以,只是你要注意

responseText

里面,不能包含你需要切割的那个字符。


推荐你用json,这样比较方便些。就不会涉及切割了。


好的,我先试试哈

完全可以,只是你要注意

responseText

里面,不能包含你需要切割的那个字符。


推荐你用json,这样比较方便些。就不会涉及切割了。


刚刚回的应该是回复你,哈哈,成功完成,谢谢。


完全可以,只是你要注意

responseText

里面,不能包含你需要切割的那个字符。


推荐你用json,这样比较方便些。就不会涉及切割了。


为什么还“不能包含你需要切割的那个字符。”?比如说我得到的“中华人民共和国{|}国和共民人华中”,要有{|}这个才好切啊。



假设你要按"|"切割,这样你看对不对:

//显然是对的
这是测试数据|这是测试数据

//这样就不对了
这是|测试|数据|这是|测试|数据

所以你还是用json吧,方便

用json,根?key?取value,??就方便了。

基本同意楼上观点,用json 键值对可以处理很多问题比text好用

可以用 js 切割,但你得有唯一的切割标志吧?
不然把正文也切割了,就不美了

返回多个数据一般用 json

$res = array(  'div1' => '相关内容',  'div2' => '相关内容',)echo json_encode($res);
登录后复制
登录后复制
登录后复制

$.ajax({  url: 'test.php',  type: 'post',  dataType:'json',  success: function (data) {     $('#div1').html(data.div1);     $('#div2').html(data.div2);  }});
登录后复制
登录后复制
登录后复制

更一般的
$.post('test.php', {}, function(d) {  for(var i in d) $('#'+i).html(d[i]);}, 'json');
登录后复制
登录后复制
登录后复制


奇怪了,我回复了两次,是引用你的,都变成第一个回复的了。


可以用 js 切割,但你得有唯一的切割标志吧?
不然把正文也切割了,就不美了

返回多个数据一般用 json

$res = array(  'div1' => '相关内容',  'div2' => '相关内容',)echo json_encode($res);
登录后复制
登录后复制
登录后复制

$.ajax({  url: 'test.php',  type: 'post',  dataType:'json',  success: function (data) {     $('#div1').html(data.div1);     $('#div2').html(data.div2);  }});
登录后复制
登录后复制
登录后复制

更一般的
$.post('test.php', {}, function(d) {  for(var i in d) $('#'+i).html(d[i]);}, 'json');
登录后复制
登录后复制
登录后复制


奇怪了,我回复了两次,是引用你的,都变成第一个回复的了。完美解决,谢谢。
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板