【问题标题】:JQuery - Ajax - Struts2 listJQuery - Ajax - Struts2 列表
【发布时间】:2012-06-15 00:56:40
【问题描述】:

我正在寻求一些帮助,让我的 JQuery/Ajax 调用从 Struts 操作返回一个列表,并使用 s:iterator 用列表元素填充一个 DIV。

我有以下 JQuery

   function lookupCustomerJs() {
        alert("lets start");
        $.ajax({  
            type: "POST",  
            url: "lookupCustomerAjax",  
            data: $('#lookupCustomer').serialize(), 
            success:function(response) {  
                alert("do stuff");
                $('div#custList').replaceWith($(response).find("div#custList"));
            },
            failure:function(response) {
                alert('Ajax call failed');
            },
            error:function(response) {
                alert(exception);
            }
        });  
    }

我的页面中有一个 DIV,然后我想遍历列表

                        <div id="custList">
                            <s:iterator status="stat" value="customerList" var="customer">
                                <s:param name="custFName" value="%{customer.firstname}" />
                            </s:iterator>
                        </div>

还有我调用的 Action 方法,因为当我调试时,调试器会遍历代码。

private List<Customer> customerList;

public String lookupCustomerAjax() {

    dummyData();

    return SUCCESS;
}

这成功调用了我的 Action 方法,但我得到的只是“让我们开始”警报,然后什么都没有,没有错误,什么都没有!

所以我猜这只是 jQuery/Ajax 成功:function(response) { 没有正确触发,但看不出原因。

【问题讨论】:

  • 你能告诉我吗?控制台中究竟显示了什么错误。尝试 。 firebug/IE 开发者/Chrome 。一般原因之一是 jquery.js 的位置不正确。也把你的功能 $(document).ready(function() { });

标签: java jquery ajax struts2


【解决方案1】:

可能是“lookupCustomerAjax”是无效的 url 或文件名。您应该尝试添加扩展。

此外,对于故障排除,您应该连续使用 console.log(response) 以查看您实际上得到了结果。

【讨论】:

  • 但是当我在“调试”中运行我的代码并在 lookupCustomerAjax 方法中放置断路器时,应用程序会通过该方法,它似乎并没有陷入任何成功、失败或jQuery 的错误部分。
  • user1160629,你说“它似乎并没有落入 jQuery 的任何成功、失败或错误部分”,这就是为什么我说你需要给它一个有效的URL 或文件名。我在 Firefox 上对此进行了测试,如果文件名不正确,它将失败而不会成功或失败。给它一个有效的文件名或路径,您应该会看到连续或失败。
猜你喜欢
  • 1970-01-01
  • 2014-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-14
  • 2012-09-09
  • 1970-01-01
相关资源
最近更新 更多