当前位置: 首页 > 知识库问答 >
问题:

无法处理AJAX请求

边翔宇
2023-03-14
function saveBatterySpecs(id) {
           var url = '@Url.Action("SaveBatterySpecs", "Catalog")';
            $.ajax({
                type: "post",
                url: url,
                data: {
                    art: $("#art" + id).val(),
                    brand: $("#brand" + id).val(),
                    name: $("#name" + id).val(),
                    country: $("#country" + id).val(),
                    volt: $("#volt" + id).val(),
                    cap: $("#cap" + id).val(),
                    sp: $("#sp" + id).val(),
                    powc: $("#powc" + id).val(),
                    term: $("#term" + id).val(),
                    mount: $("#mount" + id).val(),
                    adds: $("#adds" + id).val(),
                    length: $("#length" + id).val(),
                    width: $("#width" + id).val(),
                    height: $("#height" + id).val(),
                    guar: $("#guar" + id).val()
                },
                dataType: 'text', //or json, no difference
                success: hideEditForm(id)
            });
 public ActionResult SaveBatterySpecs(string batteryData)
            {
            if (Request.IsAjaxRequest())
                {
                Debug.WriteLine(batteryData);
                return PartialView("~/Views/Shared/EmptyView.cshtml");
                }
            else
                return null;
            }

共有1个答案

姜运珧
2023-03-14

我建议使用maxs87提出的方法,即发布实际对象,而不是表示数据的字符串。

但是,如果您真的只想接受字符串,您仍然需要匹配的变量名:

这将发布一个名为BatteryData的参数,其值是表示所有数据的JSON字符串。在控制器上,您的BatteryData变量将填充一个JSON字符串,您可以手动反序列化该字符串。

data: {
    batteryData: JSON.stringify({
        art: $("#art" + id).val(),
        brand: $("#brand" + id).val(),
        name: $("#name" + id).val(),
    })
},
 类似资料:
  • 我在调用AJAX请求后出现此错误。控件正在命中服务器端,所有进程都正常工作。但是,在调用控制器代码之前,我遇到了这个错误,并在这里绊倒了自己。 Jsp Ajax呼叫 控制器 org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver handleHttpRequest方法不支持警告:请求方法'POST'不支

  • 问题内容: 我已经制作了一个简单的聊天应用程序,它使用jquery使用长轮询方法, 这应该发生:页面加载后,发生对listen.php的无限请求,并且当用户发送消息时,代码通过send.php将消息发送到数据库。 问题是,使用萤火虫,我发现在listen.php请求之后执行的send.php请求仍然悬而未决。表示发送消息的请求仍处于待处理状态。 问题答案: 问题是由于 会话锁定 ; 和文件两者都使

  • 我有一个程序,用来在点击按钮后从网页上刮取源代码。我无法抓取正确的页面,因为我相信正在发送一个AJAX请求,我不会等待响应的发生。我的代码当前为: 参考此链接后,我相信要解决此问题,我可以实现“webClient.waitForBackgroundJavaScript(10000)”方法。唯一的问题是我不知道如何做到这一点,因为每次单击按钮时,我都会创建一个HtmlPage对象,而不是WebCli

  • 基础的 Servlet 接口定义了 service 方法用于处理客户端的请求。当有请求到达时,该方法由 servlet 容器路由到一个 servlet 实例来调用。 Web 应用的并发请求处理通常需要 Web 开发人员去设计适合多线程执行的Servlet,从而保证 service 方法能在一个特定时间点处理多线程并发执行。(译者注: Servlet 默认是线程不安全的,需要开发人员处理多线程问题)

  • 问题内容: 在处理JSF ajax请求时引发异常时,如何处理异常并访问堆栈跟踪?现在,当JSF项目阶段设置为Development时,我仅在JavaScript警报中获得异常类名称和消息。更糟糕的是,当JSF项目阶段设置为Production时,没有任何视觉反馈,并且服务器日志不显示有关异常的任何信息。 如果相关,那么我在Netbeans中使用GlassFish。 问题答案: OmniFaces

  • 本文向大家介绍Springmvc ajax跨域请求处理方法实例详解,包括了Springmvc ajax跨域请求处理方法实例详解的使用技巧和注意事项,需要的朋友参考一下 上次给一个网站写网站  前后端分离 最后跪在ajax跨域上面了  自己在网上找了个方法  亲试可用  记录一下 写一个类  继承HandlerInterceptorAdapter 然后在xml里面配置一下路径  这样就可以了  不过