欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2024-01-10 20:12:34
...
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');

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