如何使用RESTful URI在javascript中发出Get请求?
因此,当前,当我的webapp发出get请求时,uri如下所示: 用户?usderId=123 我想要的是 用户/123 我该怎么做 在谷歌上搜索如何在javascript中发出get请求,当我需要后者时,会得到前者的URI 我想要后一种格式的原因是因为我在Spring中的requestMapping看起来像 @RequestMapping(value=“/users/{userId}”,method=RequestMethod.GET)如何使用RESTful URI在javascript中发出Get请求?,javascript,spring,rest,get,request,Javascript,Spring,Rest,Get,Request,因此,当前,当我的webapp发出get请求时,uri如下所示: 用户?usderId=123 我想要的是 用户/123 我该怎么做 在谷歌上搜索如何在javascript中发出get请求,当我需要后者时,会得到前者的URI 我想要后一种格式的原因是因为我在Spring中的requestMapping看起来像 @RequestMapping(value=“/users/{userId}”,method=RequestMethod.GET) 编辑: 因此,我在回复中尝试了该方法,似乎我的java
编辑: 因此,我在回复中尝试了该方法,似乎我的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>
为什么没有调用idForm submit的javascript函数
---------------------------这条线正上方的部分是数字----------------------
编辑:
我的问题的底线是:
带有submit按钮的HTML表单可以发出get请求,并为表单指定“操作”,为输入文本指定“名称”。我只想能够将这个get请求从users?userID=123生成的URI格式化为users/123
必须有一种方法可以简单地更改URI的格式,不是吗?引用
这可能是因为语法错误:
*/
,并且因为HTML DOM不是jQuery,所以没有form.submit(callback)
和.attr()
和.val()
等方法。。。您应该使用jQuery,或者阅读HTMLDOM手册。您必须使用表单元素形成url,并简单地感谢您的响应。我尝试过这个方法,但我的javascript方法似乎从未被调用过。你能看看我编辑的帖子吗?你说得对。我修复了Dom和jQuery方法问题。现在,当我提交时,它使用我想要的URI的正确格式发出Get请求。但是,现在页面无法加载。在此之前,当get请求获取页面时,它将加载从服务器接收的新页面。但是,现在get方法成功了,但它不会加载它收到的页面。你知道为什么吗?你没有对httpGet(url)返回的响应做任何事情代码>。您应该使用asnyc XHR而不是sync,如果您使用jQuery,则使用,而不是手动实例化XMLHttpRequest
。是否无法使用我想要的URI格式但使用原始进程发出get请求?我所说的原始过程是指,最初我的webapp会通过实际更改页面的URL并加载到新页面来发出get请求。但是,现在,它在后台发出get请求,而不更改页面的URL。操纵历史记录是唯一的方法吗?比如,最初使用非常简单的代码,带有submit按钮的HTML表单将发出一个get请求,表单使用正确的“action”,输入文本使用正确的“name”。我只是想要一种简单地更改get请求生成的URI格式的方法。
$(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;
}
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;
}