Javascript 触发Web服务
我有一个Web服务,我可以通过在浏览器中键入URL并使用一些已定义的参数来触发它来执行各种操作: 例如:Javascript 触发Web服务,javascript,html,Javascript,Html,我有一个Web服务,我可以通过在浏览器中键入URL并使用一些已定义的参数来触发它来执行各种操作: 例如: http://hsserver/HomeSeer_REST_API.aspx?function=setdevicebyname¶m1=bedroomlight¶m2=on 我正在用纯HTML构建一个web前端,但是如果不在broswer中打开一个新页面,就找不到一种方法来触发它。 如果它是一个类似以下的函数,则更可取: 更新:让它与此代码一起工作,但当我使用
http://hsserver/HomeSeer_REST_API.aspx?function=setdevicebyname¶m1=bedroomlight¶m2=on
我正在用纯HTML构建一个web前端,但是如果不在broswer中打开一个新页面,就找不到一种方法来触发它。
如果它是一个类似以下的函数,则更可取:
更新:让它与此代码一起工作,但当我使用调用它时,无法使参数(func、param1、param2)工作
<button type="button" onclick="processnew('setdevicebyname','bedroom desktop light','off')">processnew</button>
function processnew(func,param1,param2)
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","HomeSeer_REST_API.aspx?function=setdevicebyname¶m1=bedroom%20desktop%20light¶m2=off",true);
xmlhttp.send();
processnew
函数processnew(func、param1、param2)
{
var-xmlhttp;
if(window.XMLHttpRequest)
{//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}
其他的
{//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById(“myDiv”).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open(“GET”,“HomeSeer\u REST\u API.aspx?function=setdevicebyname¶m1=卧室%20桌面%20light¶m2=off”,true);
xmlhttp.send();
我不知道在哪里可以找到这个-希望能得到一些帮助XHR宝贝
或者jquery的抽象[ajax通用,或者快捷方式的post/get]
嗯……这将是一个简单的HTTP GET请求 如果使用jQuery,请检查以下内容: 如果您想坚持使用纯javascript(由于浏览器之间的不兼容性,我不建议这样做):试试看
查看AJAX请求。您可以在这里查看本机JavaScript XML http请求。我使用了W3schools的一个示例—您发布的墨迹。谢谢!太好了!我的愿望是为这两个请求编写一个示例,但两个文档页面在提供细节和示例方面做得非常好,这看起来很愚蠢。+1感谢Kamil的点头您几乎总是会抽象出原生XHR,而jQuery为您做了大量工作。
$.ajax({
url: 'http://hsserver/HomeSeer_REST_API.aspx?function=setdevicebyname¶m1=bedroomlight¶m2=on',
method: 'GET' // HTTP request method
}).done(function(data) {
console.log('Response from server: ' + data);
});