当前位置: 首页 > 面试题库 >

jQuery在Ajax中调用ASP.NET MVC C#中的操作方法

燕英奕
2023-03-14
问题内容

我已经尝试了几个小时才能使其正常工作,我真的希望你们中的一个比我更了解(很多)。当客户端在文本框中键入内容时,我想调用MVC
C#控制器方法称为updateOrder()。理想情况下,我想使用FormCollection访问表单元素(该表单称为“ createOrder”)。

在控制器中,我有:

C#

[WebMethod]
public static void updateOrder(){
    string s = "asdf";
}

上面的字符串声明是断点的。在视图中,我有一个基本上可以复制并粘贴在stackoverflow上找到的方法:

的JavaScript

function updateOrderJS() {
    var $form = $('form[id="createOrder"]');
    $.ajax({type    : "POST",
        url     : $form.attr('action'),
        data    : $form.serialize(),
        error   : function(xhr, status, error) {},
        success : function(response) {
             updateOrder();
        }
    });
    return false;
}

该事件很简单:

的JavaScript

updateOrderJS();

将触发updateOrderJS()方法(使用警报检查),但不会断点。


问题答案:

在Asp.Net MVC中,您不需要使用来修饰您的方法WebMethod。您只需创建一个Action(这是一个方法)并从中返回结果即可。样品:

public class CustomerController : Controller 
{
   public ActionResult Index() 
   {
       return View();
   }

   [HttpPost]
   public ActionResult UpdateOrder()
   {
      // some code
      return Json(new { success = true, message = "Order updated successfully" }, JsonRequestBehavior.AllowGet);
   }
}

在您的中View,您可以尝试这样的javascript(使用$ .ajax
jquery方法-参见注释):

$.ajax({
    url: '@Url.Action("UpdateOrder")', // to get the right path to controller from TableRoutes of Asp.Net MVC
    dataType: "json", //to work with json format
    type: "POST", //to do a post request 
    contentType: 'application/json; charset=utf-8', //define a contentType of your request
    cache: false, //avoid caching results
    data: {}, // here you can pass arguments to your request if you need
    success: function (data) {
         // data is your result from controller
        if (data.success) { 
            alert(data.message);
        }
    },
    error: function (xhr) {
        alert('error');
    }
});


 类似资料:
  • 问题内容: 我正在用Apache My Faces编写JSF 1.2应用程序。我不能使用任何自定义的组件库- 例如tomahawk或a4j等。有没有一种方法可以使用Ajax调用JSF的操作方法?完成JSF动作后,我想通过Javascript处理JSF动作的响应,并在客户端填充DIV标记?可能吗?谢谢。 问题答案: JSF 1.2不提供任何内置的ajax功能。您基本上有2个选择: Homegrow一

  • 本文向大家介绍Jquery操作Ajax方法小结,包括了Jquery操作Ajax方法小结的使用技巧和注意事项,需要的朋友参考一下 ajax() 方法通过 HTTP 请求加载远程数据。 该方法是 jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest 对象。大多数情况下你无需直接操作该函数,除非你需要操作不

  • 问题内容: 我有一个Ajax脚本,可以将一些数据发送到外部URL。外部URL托管在同一服务器上,但是域与ajax调用的源不同。 这在Firefox和Chrome中完美运行。但是,在IE中,ajax调用不会通过,并且Return False函数也不起作用(一旦ajax调用失败)。 下面是我的代码: 当我尝试从ajax网址中删除http://时,返回false确实有效。 任何帮助,将不胜感激。谢谢 问

  • 问题内容: 我有一个问题: 虽然我从另一个带有ajax的页面调用内联脚本(也使用jQuery),但似乎不再定义jQuery(?),并且我无法使用任何jQuery函数,应该使用(根据内联脚本)。 它基本上是新闻列表,其中包含指向特定新闻项目的链接。我现在更喜欢使用内联脚本,因为在其他地方不需要此功能。 如您所见,我只是在调用另一个页面的一部分并将其内容附加到页面上。 当我加载整个页面(不是页面的一部

  • 本文向大家介绍jQuery 中ajax异步调用的四种方式,包括了jQuery 中ajax异步调用的四种方式的使用技巧和注意事项,需要的朋友参考一下 以上就是本文的全部内容,了解更多jQuery的语法,大家可以查看:《jQuery 1.10.3 在线手册》,也希望大家多多支持呐喊教程。

  • 问题内容: 我正在编写ajax Web应用程序,但是由于任何原因,当我在Internet Explorer 9(IE9)中对内部数据服务执行GET时,它都无法正常工作。同样的调用在Chrome,Firefox和Safari中也可以正常工作。我正在使用本地主机Web服务器(沼泽)进行开发,并且正在与要尝试的数据服务在同一网络上进行开发。我正在使用Jquery 1.8.1(我返回了几个版本,但仍然看到