当前位置:Gxlcms > PHP教程 > 关于ajax问题,在线等,先谢谢各位了

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

时间:2021-07-01 10:21:17 帮助过:22人阅读

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');


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

人气教程排行