首页 > Web开发 > 详细

Jquery ajax与asp.net MVC前后端各种交互

时间:2019-07-11 14:29:12      阅读:86      评论:0      收藏:0      [点我收藏+]

1.Jquery通过ajaxSubmit提交表单

if (jQuery("#ProjectEdit_from").validate().form()) {
    jQuery("#ProjectEdit_from").ajaxSubmit(function (res) {
        if (res == 1) {
            layer.msg(‘提交成功!‘, { icon: 1 });
            setTimeout(function () {
                parent.window.location.href = "/Admin/ProjectList";
                var index = parent.layer.getFrameIndex(window.name);
                parent.refresh();
                parent.layer.close(index);
            }, 1000);
        }else {
            layer.msg(‘提交失败!‘, { icon: 2 });
        }
    })
}
[HttpPost]
public int ProjectEdit(Model.Admin.ProjectEditModel model)
{
    int n = 0;
    if (model.ProjectId > 0)//编辑
    {
        n = bll.Update(model);
    }
    else
    {
            
        n = bll.Add(model);
    }
    return n;
}

2.Jquery通过get方式获取后台Json数据

$.get("/Camera/GetCameraModel?id=" + instanceID, function (data) {
    if (data != undefined && data != "" && data.ModelId > 0) {var MileageID = data.ModelId;
    }
});
/// <summary>
/// 获取摄像头绑定的模型
/// </summary>
/// <param name="id">摄像头列表ID</param>
/// <returns></returns>
public JsonResult GetCameraModel(int id)
{
    var bll = new CameraList();
    var model = bll.GetModel(id);
    return Json(model, JsonRequestBehavior.AllowGet);
}

3.Jquery通过Ajax方式请求接口并返回Json数据结果

$.ajax({
    type: "POST",
    url: "/Camera/RemoveCameraModel",
    async: true,//默认true异步,同步设置为false
    cache: true,//默认true缓存数据,设置为false不做缓存处理
    data: {
        "id": instanceID,
        "name":"zhangsan"
    },
    dataType: "json",
    success: function (data) {
        if (data.msg>0) {
            window.parent.location.reload(); //刷新父页面
            setTimeout(function () {
                var index = parent.layer.getFrameIndex(window.name);
                parent.layer.close(index);
            }, 1000);
        }
        else {
            layer.msg("取消关联失败");
        }
    },
    error: function (XMLHttpRequest, textStatus, errorThrown) {
        alert(XMLHttpRequest.status);
        alert(XMLHttpRequest.readyState);
        alert(textStatus);
    },
    complete: function (XMLHttpRequest, textStatus) {
        this; // 调用本次AJAX请求时传递的options参数
    }
});
/// <summary>
/// 摄像头取消关联模型
/// </summary>
/// <param name="id">摄像头ID</param>
/// <param name="name">摄像头名称</param>
/// <returns></returns>
public JsonResult RemoveCameraModel(int id,string name)
{
    int n = 0;
    var bll = new ConstructionProcessManageLZ_Home.Camera.CameraList();
    var model = bll.GetModel(id);
    model.ModelGuids = null;
    model.ModelId = 0;
    model.LableLocation = null;
    n= bll.Update(model);
    return Json(new
    {
        msg = n
    }, JsonRequestBehavior.AllowGet);
}

4.Jquery通过post方式处获取后台数据

$.post("/ModelManage/DeleteModelSearchData", { ID: ID }, function (result) {
    if (parseFloat(result || 0) > 0) {
        $(".pop_contents_search .line-div[data-val=‘" + ID + "‘]").remove();
    }
    else {
        layer.msg(‘删除失败!‘, { icon: 2 });
    }
});
/// <summary>
///  删除
/// </summary>
/// <param name="ID"></param>
/// <returns></returns>
[HttpPost]
public int DeleteModelSearchData(int id)
{
    var bll = new Model_SearchData();
    return bll.Delete(id);
}

5.Jquery通过get方式获取后台Json列表数据

$.get("@Url.Action("GetCameraDataList")?groupid=" + dataid+"&FileName="+fileName, function (data) {
    $.each(data, function (i, item) {
        html += "<tr><td>"+item.newName+"</td>";
        html += "<td>" +(item.Brand==1?"海康":"大华") + "</td>";
        html += "<td>" + item.Type + "</td>";
        html += "<td>" + item.PassageWay + "</td>";
        html += "<td>" + (item.Status == 0 ? "正常" : "<font style=‘color:red‘>异常</font>") + "</td>";
        html += "<td>" + (item.Display == 1 ? "<font style=‘color:green‘>是</font>" : "否") + "</td>";
        html += "<td>" + item.Remark + "</td>";
    });
    $("#DesignInfoList").html(html);
    layer.close(index);
}, "json");
public JsonResult GetCameraDataList(int GroupId, string FileName)
{
    CameraList bll = newCameraList();
    var list = bll.QueryList(CurrentUser.ProjectId, GroupId, FileName);
    return new JsonResult
    {
        Data = list.Select(n => new
        {
            n.id,
            newName=n.Name,
            n.Brand,
            n.Type,
            n.AddressIp,
            n.Port,
            n.LoginName,
            n.PassWord,
            n.PassageWay,
            n.Position,
            n.Status,
            n.Sequence,
            n.ModelId,
            n.ModelGuids,
            n.LableLocation,
            n.Remark,
            n.ProjectId,
            n.Display,
            n.CreateDate

        }),
        JsonRequestBehavior = JsonRequestBehavior.AllowGet
    };
}

 

Jquery ajax与asp.net MVC前后端各种交互

原文:https://www.cnblogs.com/fengyeqingxiang/p/11169218.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!