如何使用RESTful URI在javascript中创建Get请求?

时间:2014-06-12 17:54:34

标签: javascript spring rest get request

所以目前,当我的webapp发出get请求时,uri看起来像这样:

用户?usderId = 123

我想要的是

用户/ 123

我该怎么做?

谷歌搜索如何在javascript中获取请求给我以前的URI,当我想要后者。

我想要后一种格式的原因是因为我在Spring中的requestMapping看起来像

@RequestMapping(value =“/ users / {userId}”,method = RequestMethod.GET)


编辑:

所以我在回复中尝试了这个方法,似乎我的javascript函数从未被调用过。

<form id="idForm" class="form-inline" role="form" action="/users">
                <div class="form-group">
                    <div class="input-group inline-input-group">
                        <div class="input-group-btn">
                            <button type="button" class="btn btn-default dropdown-toggle fixedWidth225" data-toggle="dropdown">User Id<span class="caret"></span></button>
                            <ul class="dropdown-menu">
                                <li><a href="#">aaa ID</a></li>
                                <li><a href="#">bbb ID</a></li>
                                <li><a href="#">ccc ID</a></li>
                                <li><a href="#">ddd ID</a></li>
                            </ul>
                        </div>
                        <label class="sr-only" for="EntityId">Entity Id</label> 
                        <input type="text" class="form-control fixedWidth225" name="userId">
                    </div>
                </div>
                <button type="submit" class="btn btn-default">Submit</button>
            </form>

            <div id="displayDiv">
            </div>

这是我的表格,这是js:

$(document).ready(function() {
    document.getElementbyID("idForm").submit(function(event) {
        event.preventDefault();
        var url = document.getElementbyID("idForm").attr( "action") + "/" + document.getElementbyID("userId").val(); 
        httpGet(url);
    });
  });
  */

function httpGet(restURL)
{
    var xmlHttp = null;

    // Assuming its a text field
    xmlHttp = new XMLHttpRequest();
    xmlHttp.open( "GET", restURL, false );
    xmlHttp.send( null );
    return xmlHttp.responseText;
}

为什么idForm提交的javascript函数没有被调用?

---------------------------正好在这一行之上的部分是------------ ----------

编辑:

我的问题的底线:

带有提交按钮的HTML表单可以生成一个get请求,其中为表单指定了“action”,为输入文本指定了“name”。我只是希望能够格式化此get请求从用户生成的URI?userID = 123到users / 123.

必须有一种方法可以简单地改变URI的格式,不是吗?

2 个答案:

答案 0 :(得分:1)

参考Question

function httpGet(restURL)
{
    var xmlHttp = null;
    restURL=restURL+"/"+document.getElementbyID("usderId").val(); 

    // Assuming its a text field
    xmlHttp = new XMLHttpRequest();
    xmlHttp.open( "GET", theUrl, false );
    xmlHttp.send( null );
    return xmlHttp.responseText;
}

答案 1 :(得分:1)

可能是因为语法错误:*/,并且因为HTML DOM不是jQuery,所以没有form.submit(callback).attr()以及.val()这样的方法等等......您应该使用jQuery,或阅读HTML DOM手册。