我需要对返回的json执行操作到ajaxform。我不擅长javascript应该这样做...我可以从控制器中的方法返回Json,但我可以正确地做事情取决于这个json结果吗?
我需要返回状态值,其中status可以是1,2或2.在视图中我需要实现JS,它将向div添加文本,具体取决于此脚本从方法获取的json。一切都应该使用ajax。有谁能推荐我很好的教程?或者只是为我编写我将要分析的代码。
答案 0 :(得分:1)
您可以为jQuery编写一个简单的扩展方法:
jQuery.extend({
postJSON: function (url, data, callback) {
return jQuery.post(url, data, callback, "json");
}
});
然后在你的javascript块中执行此操作:
$.postJSON('/controller/action',
{
Param1: 1,
Param2: 2
},
function(data){
alert(data.result);
});
在控制器
中[HttpPost]
public ActionResult Action(int Param1, int Param2)
{
return Json(new {
result : "It Worked"
});
}
答案 1 :(得分:0)
这是一个根据ur actionmethod的响应更改分区内文本的示例...
//a class with properties.
Class Priveleges{
Public string StatusMessage{get;set;}
Public int StatusCode{get;set;}
}
//code inside controller
[HttpGet]
Public JsonResult Index{
Priveleges obj=DecidePriveleges():
Return Json(obj,allowget.true);
}
Private Priveleges DecidePriveleges(){
Prilveleges obj;
//prepare object based on server response
If(response=="high"){
obj=new Priveleges(){
StatusMessage="high priveleges",
StatusCode=1}
}else if(response=="medium){
obj=new Priveleges(){
StatusMessage="medium priveleges",
StatusCode=2}
}else if(response=="low"){
Obj=new Priveleges(){
StatusMessage="low priveleges"‚
StatusCode=3}
}
Return obj;
//code inside ur view
//suppose you want to change the text inside
//ur div when the page loads..
<div id="statusDiv"></div>
//here is ur javascript.
$(document).ready(function(){
$.getJSON('/controller/Index',function(data){
$('#statusDiv').text(
'You have '+data.StatusMessage);
});
});
//here data,the parameter of getJson method.
//holds the data coming from our action
//method...
对不起代码格式..从我的手机上发布代码......
希望这个小考试可能会有所帮助..