当相同的URL在浏览器中工作时,dojo xhrGET无法正常工作

时间:2012-07-21 05:42:23

标签: spring-mvc dojo

我试图根据用户在两个文本框中输入的输入在Spring MVC 3应用程序中显示搜索结果。我正在使用dojo xhrGET请求(以及用户输入作为几个请求参数)。目的是根据这些方框中的值在d​​ojogrid中显示搜索结果。

请求(下面列出的示例网址),

http://localhost:8080/SampleApp/subscribers?customerId=091300036&searchBy=ci) 
将其粘贴到浏览器地址栏中时,

正常工作。但是,当通过xhrGET调用时,我没有看到任何响应,也没有联系控制器。

在FireBug中,我在两种情况下都看到相同的请求。

GET http://localhost:8080/SampleApp/subscribers?customerId=091300036&searchBy=ci 200 OK 

但是,成功案例中的响应(通过浏览器)是一个JSON对象,而在dojo请求案例中,响应包含我的整个jsp源代码。

我应该如何处理xhrGET请求。我没有使用正确的dojo事件。由于这是一个搜索,我使用GET而不是POST。这是relvant html和js代码。

    <input id="customerId" >    
    <input id="searchName" >
    <button dojoType="dijit.form.Button" type="submit" onclick=search()>
                Search
    </button>   

    dojo.ready(function(){
        var textbox = new dijit.form.TextBox({
            value: "Search By Name or Email",
            onFocus: function(){ 
                var ph = dijit.byId("searchName");
                ph.attr("value",""); },
            placeHolder: "Search By Name or Email"
        }, "searchName");
        textbox.startup();

    });

    dojo.ready(function(){
        var textbox = new dijit.form.TextBox({
            value: "Customer Id",
            onFocus: function(){ 
                var ph = dijit.byId("customerId");
                ph.attr("value",""); },
            placeHolder: "Customer Id"
        }, "customerId");
        textbox.startup();

    });        

    function search() {
        var criteria1 = dijit.byId("customerId").value;
        var criteria2 = dijit.byId("searchName").value;
        dojo.xhrGet({
            // The URL of the request
            url: "/SampleApp/subscribers?customerId=" + criteria1 + "&searchBy=" + criteria2,
            handleAs: "json",
            load: function(newContent) {

            },
            // The error handler
            error: function() {
                alert(error);
            }
        });
    }

0 个答案:

没有答案