Java ajax调用错误的servlet

Java ajax调用错误的servlet,java,ajax,jakarta-ee,servlets,Java,Ajax,Jakarta Ee,Servlets,这个奇怪的问题我似乎解决不了 我在EclipseJavaEE中工作,我有一个名为Process的servlet(映射到/Process) 有一个链接到进程 <a href="process?intent=order">Checkout</a> 我想有两个问题 首先,这是向不同项目中的不同servlet发送请求。但是,当使用doGet访问时,它可以工作。(对于doPost,我有不同的代码)是否有任何原因导致它无法识别Process.java文件中的doPost方法?是什么

这个奇怪的问题我似乎解决不了

我在EclipseJavaEE中工作,我有一个名为Process的servlet(映射到/Process)

有一个链接到进程

<a href="process?intent=order">Checkout</a>
我想有两个问题

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


第二,我知道在servlet中获取数据后要做什么,但我不知道如何实际访问数据。它在“data:”中通过jquery传递,那么如何在servlet中访问它呢?

第一个问题:
如果我没有弄错的话,您的问题是“当您尝试使用AJAX(在jquery函数中)发送post请求时,您没有找到所需的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");
 }

  });

});
这应该可以解决问题:)

第二个问题:试试这个

你的javascript代码在另一个文件中的路径不同吗?我试过url:'projectName/process'没有用。它仍然在另一个项目中调用流程@js位于MyProject/jsp/page.jsp中的标记中。。我想ajax通过URL调用,这与我的文件结构有关系吗?Aman告诉我们的是,您使用的是相对路径,因此调用是相对于当前URL的。您可以通过
url:'/your context path/process'
更改
url:'process'
,并替换为正确的路径。项目的名称是什么?您在Eclipse中给出的名称?请通读我刚才发布的答案。我想这应该会有帮助:)是的!这总是最简单的事情。非常感谢你!是的,我一使用url:“/MyProject/process”它就工作了。奇怪的是我以前试过,但没用。我退出了当前在服务器下同步的所有其他项目,再试一次,它仍然重新加载了外部servlet。所以我把URL改成了你建议的,效果很好。再次感谢!如果可以的话,我会投票的!!
<button id="update">Button</button>
  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");
     }
 });

});
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");
 }

  });

});