如何为给定的jQuery.ajax()调用创建Java Servlet?

时间:2013-12-16 12:34:09

标签: java javascript jquery ajax json

我有一个名为wfd.proxy.js的文件,其中包含以下代码行:

if (!WFD) { var WFD = {}; };
if (!WFD.Proxy) { WFD.Proxy = {}; };

WFD.Proxy = 
{
    SERVICE_URL   : "/delegate/WFD/WFService?",
    PDF_SERVICE_URL : "/delegate/pdf-exporter?",
    DATA_TYPE     : "json", // used by jQuery
    DATA_TYPE_EXT : "ajax", // used by ExtJs
    DATA_TYPE_TXT : "text", // used for tests
    SaveWorkflow : function(code)
    {
        jQuery.ajax({
            url: WFD.Proxy.SERVICE_URL + "task=savemodel",
            data: { code : code },
            dataType : WFD.Proxy.DATA_TYPE,
            type: 'POST',
            success : function(data) {
                WFD.Proxy.OnSaveWorkflowCallback(data);
            },
            error : function(jqXHR, textStatus, errorThrown) {
                alert("Errore di comunicazione: " + errorThrown);
            }
        });
    }

,

    WFD.Proxy.OnSaveWorkflowCallback = function(data) 
    {

        /*
            data.response
            data.message
            data.model_new_id
            data.idsNodes[i].original_id
            data.idsNodes[i].new_id
         */
    }

};

我编写了将xml文件转换为JSON格式的代码。我从我编写的代码中获得的JSON字符串应该作为SaveWorkflow : function(code)的代码参数传递。

我不确定此时我该做什么。 我做了一些搜索,看到jQuery.ajax()调用使用Java Servlets操作的地方......

知道如何解决这个问题吗? 提前致谢

1 个答案:

答案 0 :(得分:0)

您编写的是客户端代码(即在您的浏览器中执行)。缺少的部分是服务器端。您的“ajax调用”正在使用以下URL与Web服务器建立异步连接:

 /delegate/WFD/WFService?task=savemodel&code=xxxx

xxxx是代码变量的值。您的javascript期望文本字符串作为此URL的响应。

您本身不需要servlet来处理这个问题。任何接受ajax URL并返回所需数据的Web服务器都可以(例如PHP ...)

如果你需要一个servlet并且你不知道如何构建一个servlet,我认为你有很多阅读要做。 我建议: https://www.google.be/search?q=my+first+servlet