MVC中前台如何向后台传递数据------$.get(),$post(),$ajax(),$.getJSON()总结

一、引言


MVC中view向controller传递数据的时候真心是一个挺让人头疼的一件事情。因为原理不是很懂只看一写Dome,按葫芦画瓢只能理解三分吧。


二、解读Jquery个Ajax函数


$.get(),$.post(),$.ajax(),$.getJSON()


1、$.get(url,[data],[callback])


参数说明

url:请求地址,MVC中一般为:“/QueryScores/Search/” (/controller/action/)

data:请求数据列表,MVC中action的参数,一定要注意这里的data是用key/value键值对的,key一定与action的参数的名称一定相同才行。

callback:请求成功后的回调函数,我们一般定义为function(str),这里的function就为回调函数,str为action的返回值。


我们举个例子:


<span style="font-size:18px;">                        var item = $(":radio:checked").val();
                        $.get("/QueryScores/Search/", {item:item}, function (string) {
                            alert(string);
                        });</span>

在后台是这样写的:


<span style="font-size:18px;">        public String Search(string item)
        {
            return "123";
        }
</span>

是挺好写的是吧,如果我们想要return回来的json格式的值的时候,get方法就会局限了,这个时候就需要后面的函数了。


2、$.post(url,[data],[callback],[type])


前三个都跟上面的是一样的我就不说了,

type:请求的数据类型,可以是html,xml,json等类型,如果我们设置这个参数为json,那么返回的格式则是json格式的,如果没有设置,就和$.get()返回的格式一样,都是字符串格式的。



代码:

<span style="font-size:18px;">$.post("data.php",$("#firstName.val()"),function(data){
$("#postResponse").html(data.name);
},"json"//设置了获取数据的类型,所以得到的数据格式为json类型的
);</span>


3、$.ajax(option)


如果我们需要更加精确的参数的时候,我们就可以用到这个。


看看它的定义:


<span style="font-size:18px;">$.ajax({
url: "ajax/ajax_selectPicType.aspx",
data:{Full:"fu"},
type: "POST",
dataType:'json',
success:CallBack,
error:function(er){
BackErr(er);}
});</span>


我们我们可以看到它定义了url,data,type,daatatype,success,error的定义,增加了错误处理。


4、$.getJSON(url,[data],[callback])


它的获取的数据类型一定是json。


<span style="font-size:18px;"> $.getJSON("/Stu/Get/" + id, null, function (jsonObj) {
            if (jsonObj.Statu == "ok")
            {
                $("#Id").val(jsonObj.Data.Id);
                $("#Name").val(jsonObj.Data.Name);
                $("#CId").val(jsonObj.Data.CId);
            }
        });</span>


三、总结:


在如今我们开发前台的是后,后台直接与底层的HTTPRequest本来就听烦的。JQuery既然已经分装了js,我们就可以考虑AJAX应用了,






郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。