java - ajax 调用错误的 servlet

标签 java ajax jakarta-ee servlets

这里有一个奇怪的问题,我似乎无法解决。

我正在 Eclipse Java EE 中工作,我有一个名为 Process 的 servlet(映射到/process)

有一个处理链接

<a href="process?intent=order">Checkout</a>

进程内有一个 doGet 方法,用于验证是否有用户登录,该方法会重定向到结账页面。 (这有效)结帐页面包含项目,每个项目都有一个单独的输入,并且我有一个单独的 doPost 方法来更新数据库..获取要更新的输入如下

<input id='ID created in servlet' value='decided in servlet'>

其次是

<button id="update">Button</button>

我有以下 JS

  var json = [];
  $('#update').click(function(){
   $('.items').find('input').each(function(){
     var tmp = "{id:" + $(this).attr('id') + ",quantity:" + $(this).val() + "}";
     json.push(tmp);
   });

    $.ajax( {
     url : 'process',
     type : 'POST',
     data : json,
     dataType : 'json',
     success: function(data) {
             alert("success");
     }
 });

});

所以,我猜有两个问题。

首先,这是向不同项目中的不同 servlet 发送请求。然而,当使用 doGet 访问时,它可以工作。 (我有不同的 doPost 代码)是否有任何原因它无法识别我的 Process.java 文件中的 doPost 方法?什么可能导致它搜索另一个 servlet?

其次,我知道在 servlet 中获取数据后要做什么,但我不知道如何实际访问数据。它是通过'data:'中的jquery传递的,那么我如何在servlet中访问它?

最佳答案

第一个问题:
如果我理解正确,您的问题是“当您尝试使用 AJAX(在 jquery 函数内)发送发布请求时,您没有点击所需的 servlet”。
解决方案:
您需要将项目名称附加到 URL 中。 假设您的 servlet 放置在名为 "SomeProject" 的项目中,并且 servlet 映射到名为 "servletProcess" 的 url。 所以你的 jQuery 应该看起来像这样:

var json = [];
  $('#update').click(function(){
   $('.items').find('input').each(function(){
     var tmp = "{id:" + $(this).attr('id') + ",quantity:" + $(this).val() + "}";
     json.push(tmp);
   });

$.ajax( {
 url : '/SomeProject/servletProcess',
 type : 'POST',
 data : json,
 dataType : 'json',
 success: function(data) {
         alert("success");
 }

  });

});

这应该可以解决问题:)
第二个问题:试试这个 Similar Query

关于java - ajax 调用错误的 servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20213626/

相关文章:

hibernate 错误消息: unexpected token: NULLS (error in script file line: 13 unexpected token: NULLS)

java - DataSource 的可移植 JNDI 名称

java - 在 Websphere Portal 8 中以编程方式显式注销用户并重定向到默认登录页面

javascript - 在express.js中,有没有办法同时处理ajax表单提交和浏览器帖子提交?

javascript - 如何对 AJAX 调用返回的类似数据进行分组?

javascript - 在表单提交时执行ajax请求,不等待响应

java - 在 WebView 内对齐 ImageView

java - 找出android中的http响应代码

java - 转换 HashMap

JavaFX ScrollPane 以编程方式移动视口(viewport) - 居中内容