我正在尝试在本地主机上调用 Restful 服务。我这样做是因为这是一个异步调用。调用我的服务的适当 Url 加上 Uri 模板是这样的:
"http://localhost:65016/Service1.svc/SN?lower=200&upper=300 "
在我尝试打开( xhttp.open )的行上,每当我像这样插入网址时,我的客户端页面只会收到正确的数据:
xhttp.open("GET", "http://localhost:65016/Service1.svc/SN?lower=200&upper=300" , true);
但我需要 200 和 300 数字作为用户输入,所以我尝试了以下两件事: 我首先尝试获取用户输入并简单地将其连接到 URi 模板之间的基本 URL,如下所示:
<script>
function ServiceCall()
{
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function ()
{
if (xhttp.readyState == 4 && xhttp.status == 200) {
var ans = document.getElementById("secretNum");
ans.innerHTML = xhttp.responseText;
}
}
var base_uri = "http://localhost:65016/Service1.svc/";
// grab the lower number
var ln = document.getElementById("LN").firstChild;
var LN = ln.nodeValue;
// grab upper number
var un = document.getElementById("UN").firstChild;
var UN = un.nodeValue;
//complete
var URL = base_uri + "SN?lower=" + LN + "&upper=" + UN;
xhttp.open("GET", URL, true);
xhttp.setRequestHeader("Content-type", "application/json");
xhttp.send();
}
</script>
不起作用。所以我尝试查看 xmlHttpRequest.open 的文档,发现参数必须是 URL。所以我尝试使用 URL(string) 函数并将输出用作参数,但这也不起作用。 请问有什么帮助吗?
最佳答案
谢谢。我查看网络请求很有帮助。我只是使用了错误的语法来获取 html 输入标记内的值。
var ln = document.getElementById("LN").value;
返回用户输入给出的 html 输入标记内的实际值。 我正在回答我自己的问题,因为这是一项家庭作业。 (并不是我作弊。回答这个问题远没有解决作业)
关于javascript - 为什么 xmlHttpRequest.Open 仅在我输入字符串时才起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60122970/