在MVC專案下,使用 JQuery 提交一個表單,並接收 server 回傳的 JSON資料
来源:互联网 发布:知乎在哪里看我的感恩 编辑:程序博客网 时间:2024/05/16 08:39
原文:http://www.dotblogs.com.tw/jefflee/archive/2011/04/05/22283.aspx
Ajax雖然很簡單,但程式語法有些小地方我一直記不起來,每次都要上網找範例,或去看之前寫的code,而之前寫的code多半加了很多東西,容易被其他東西給分散注意,因此想做個簡單的 ajax 例子記錄下來。
這例子很簡單,就是將畫面上的表單,用ajax的方式送回 server,server處理完後,用 JSON的方式回傳結果,client再利用 JQuery 處理 JSON物件。這邊例子是以MVC專案的方式實做,做好的畫面如下:
1.輸入名字後,按下button。
2. 回server端後,server 用 JSON 字串傳回結果,然後再用 javascript alert 結果。
首先從view來看,依照畫面擺了button和兩個input來做輸入使用,注意這兩個input要放在一個form裡,因為我們要將輸入的值,用form的形式post 回server。
再來看Javascript的部分,這裡利用jquery 提交一個表單( formOne)給 Name/PostData 這個 action。
接著來看 action 的部分,因為是提交一個表單,因此 action 能接收一個 model 物件的參數。
另外,回傳值要用JsonResult,可以用Controller l繼承的Json 這個method 來將物件轉成JsonResult。
IndexVM很簡純,只有兩個屬性FirstName和LastName。
再回到cshtml看看javascript那段,ajax 的 callback function收到一個data的參數,我們可以用接用data.FirstName和data.LastName來取得資料,這就是我們使用json最大的目的,在javascrit中可以操作我們定義好的物件,我們序列化的是IndexVM這個物件,經過JQuery反序列化後,就可以如例子一樣方式的使用屬性,非常方便,如果沒有用json,那麼傳遞的資料只是個字串或xml,處理起來就麻煩多了。
最後順便一提,也許有的人會發現我javascript的部分,data已經是json物件了,不需要再用$.parseJson做轉換,詳細的原因請參考這篇application/json。
附上範例程式:MvcAjax.zip
- 在MVC專案下,使用 JQuery 提交一個表單,並接收 server 回傳的 JSON資料
- spring mvc 接收jquery ajax 提交的数组参数
- asp.net mvc jquery 提交json数据
- ASP.NET MVC Jquery提交Json数据
- 在struts2+jquery使用AJAX异步提交数据,处理返回的json数据
- springMVC使用JQUERY提交数组接收时候报错,接收参数对象的属性为数组
- jquery.form异步提交文件、Spring MVC接收文件
- MVC中form提交和在控制器中接收数据
- ajax提交json数据并使用Springmvc接收实例
- jQuery实现ajax提交form表单(可以是提交json),用springmvc接收。图文详解
- SpringMVC接收 jQuery实现ajax提交form表单(可以是提交json)
- jQuery的ajax 方法提交对象数组并使用C#接收
- 使用jQuery POST提交数据返回的JSON是字符串不能解析为JSON对象
- 使用jQuery POST提交数据返回的JSON是字符串不能解析为JSON对象
- 使用jQuery POST提交数据返回的JSON是字符串不能解析为JSON对象
- MVC接收post提交的值检测到危险
- spring mvc开发接收日期字段表单提交的问题
- SpringMVC 接收页面Post提交的json字符串并解析
- [HTML]图像
- 用system.web.mail 发送邮件及附件
- 未来数字产品的发展
- W7100例程学习之ADC应用
- Dom入门
- 在MVC專案下,使用 JQuery 提交一個表單,並接收 server 回傳的 JSON資料
- 地址栏 中文乱码
- 初识Lambda表达式
- plsql连接不上oracle11g 64位
- .添加 System.Web.Script.Serialization 命名空间
- 重新起航。
- maven构建项目
- Winform 修改并保存配置文件
- asp.net mvc 为html.textboxfor类似添加自定义样式表