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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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应用了,

以上是关于MVC中前台如何向后台传递数据------$.get(),$post(),$ajax(),$.getJSON()总结的主要内容,如果未能解决你的问题,请参考以下文章

前台通过form表单向Django后台传输数据,Django处理后返回给前台

mvc 从视图传递到Controller 多个不同的实体类接收如何做呢?

mvc4 如何返回Json数据并且 前台中怎么取它后台返回的数据

JSPservletSQL三者之间的数据传递(前台与后台数据交互)

js前台页面与后台如何传参

ASP.Net MVC数据传递