ajax传多个值到div怎么传?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax传多个值到div怎么传?相关的知识,希望对你有一定的参考价值。
我有个php采集页面,ajax传值给php,得到一系列数据,我想把数据分开显示,即显示在多个<div>中,有人说给ajax的函数加参数,如xmlhttp.onreadystatechange = function () StateChange(xmlhttp, a); ;
但我不知道怎么传??
比如,我有
<div id="a"></div>
<div id="b"></div>
<div id="c"></div>
我怎么处理才能把相应的值通过ajax更新这3个标签的数据呢??
期待大侠指点~~~~
比如.你在PHP页面处理的时候...你不是有3个DIV么...那么你3个DIV的结果.用一个分割符隔开...然后传回来的时候的..xhr.responseText.split('|'); 比如这样不就行了么...然后分别写到这3个DIV里面去
还有一种很简单的方法..你可以将3个DIV的生成放在PHP页面里面.比如:
<?php
echo "<div id='a'>处理的数据</div>";
echo "<div id='b'>处理的数据</div>";
echo "<div id='c'>处理的数据</div>";
?>
然后返回值的时候..先移处掉原先的值
var p=document.getElementById('a').parentNode;
p.remove(document.getElementById('a'));
p.remove(document.getElementById('b'));
p.remove(document.getElementById('c'));
p.innerhtml=xhr.responseText;
第2种方法相对烦对.但是也很简单...第一种还不错...有的时候我也会用.. 参考技术A 比如你拿到值
responseText = "1,2,3";
进过神奇的变化,aStr = 1;bStr = 2;cStr = 3;
document.getElementById("a").innerHTML = aStr;为a赋值。 参考技术B 这个方法很多..
比如.你在PHP页面处理的时候...你不是有3个DIV么...那么你3个DIV的结果.用一个分割符隔开...然后传回来的时候的..xhr.responseText.split('|');
比如这样不就行了么...然后分别写到这3个DIV里面去
还有一种很简单的方法..你可以将3个DIV的生成放在PHP页面里面.比如:
?php
echo
"<div
id='a'
处理的数据
MVC中使用Ajax提交数据 Jquery Ajax方法传值到action
Jquery Ajax方法传值到action
<script type="text/javascript"> $(document).ready(function(){ $("#btn").click(function(){ $.ajax({ type: \'POST\', url: "/Home/MyAjax", data: { val1: $("#txt1").val(), val2: $("#txt2").val(), val3: $("#txt3").val(), val4: $("#txt4").val(), }, dataType: "json" }); }); }); </script> <input id="btn" type="button" value="click" /> <input id="txt1" type="text" value="" /> <input id="txt2" type="text" value="" /> <input id="txt3" type="text" value="" /> <input id="txt4" type="text" value="" />
data是json数据。传递到的Action是
/Home/MyAjax。那么在Action方法处接收的方式如下:
public ActionResult MyAjax(string val1) { string val2 = Request["val2"].ToString(); string val3 = Request.Form["val3"].ToString(); string val4 = Request.Params["val4"].ToString(); return Content("ViewUserControl1"); }
或者接收参数为FormCollection,也有同样的效果。
public ActionResult MyAjax(FormCollection f) { string val2 = f["val2"].ToString(); string val3 = f["val3"].ToString(); string val4 = f["val4"].ToString(); return Content("ViewUserControl1"); }
MVC3的强悍之处,是它是基于变量参数命名匹配的机制,就是说它尽可能的查找能够有相同变量名字的值。
对于上面的例子,我们甚至可以构造出一个class,如下:
public class aclass { public string val1 { set; get; } public string val2 { set; get; } public string val3 { set; get; } public string val4 { set; get; } }
那么就可以设置参数类型为aclass
public ActionResult MyAjax(aclass f) { return Content(f.val1+f.val2+f.val3+f.val4); }
注意,aclass类的属性名就是json的key的名字,只要符合一致,它就能匹配,不得不说强悍。
转帖:http://www.cnblogs.com/dupeng0811/archive/2012/06/15/2551077.html
以上是关于ajax传多个值到div怎么传?的主要内容,如果未能解决你的问题,请参考以下文章
从onclick到function到ajax的url问号传多个参数(更多的话以此类推)问题
Taro 中父组件传多个值到子组件, 不同页面传值, 子组件修改父组件值