我不是一个javascript专家(显然)。我试图调用一个将执行耗时操作(发送电子邮件)的Web服务。我是通过使用以下代码从javascript客户端执行的get请求来执行此操作的。
$.get(targetURL, function(response) {
console.log("Got response "+response);
});
如果我不阻止javascript直到Web服务完成执行并返回其答案,则不会发送电子邮件。为什么是这样?我希望自发送请求以来,无论javascript代码是否等待答案,Web服务都将执行。我在这里错过了什么?有没有更好的方法呢?
答案 0 :(得分:0)
我认为问题在于,所调用的Web服务是在相同线程上发送电子邮件,以接受请求。当提交执行javascript(充当HTTP客户端)的网页时,未完成的 HTTP请求被中断。因此,Web服务方法不会执行,因此永远不会发送电子邮件。如果Web服务在另一个线程上发送电子邮件,则问题可能会得到解决。