JavaScript 中有 GET 和 POST 方法吗?

有什么方法可以像在 PHP 中一样在 JavaScript 中使用 GET 和 POST 方法?当然,我可以使用 PHP 在脚本标签中回显 javascript 代码,但在我的情况下这是不可能的......



慕哥6287543
浏览 129回答 2
2回答

翻过高山走不出你

XMLHttpRequest是您所需要的。这是与服务器通信的本机方式。另外,感谢@charlietfl,更现代的方法是使用fetch,但 IE 不支持它。

暮色呼如

正如已经指出的那样,您可以尝试fetch但以下代码示例也可能对您有用 - 同时。只需使用正确的参数调用ajaxPOST(postParams, url) 。//This function creates cross-browser XMLHttp objectfunction createXMLHttp(){&nbsp; &nbsp; if (typeof XMLHttpRequest != "undefined") {&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; return new XMLHttpRequest();&nbsp; &nbsp; } else if (window.ActiveXObject) {&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; var aVersions = [&nbsp; &nbsp;"MSXML2.XMLHttp.9.0",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "MSXML2.XMLHttp.8.0",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "MSXML2.XMLHttp.7.0",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "MSXML2.XMLHttp.6.0",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "MSXML2.XMLHttp.5.0",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0",&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "MSXML2.XMLHttp","Microsoft.XMLHttp"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ];&nbsp; &nbsp; &nbsp; &nbsp; for (var i = 0; i < aVersions.length; i++) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; try {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; var oXmlHttp = new ActiveXObject(aVersions[i]);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return oXmlHttp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; } catch (oError) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //Do nothing&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }&nbsp; &nbsp;&nbsp; &nbsp; //if it reaches here, this cannot be created&nbsp; &nbsp; throw new Error("XMLHttp object could be created.");&nbsp; &nbsp;&nbsp;}//this does Ajax POST//sample params: var postParams = "key1="+value1+"&key2="+value2+"&keyx="+valuex;&nbsp;function ajaxPOST(postParams, url){&nbsp; &nbsp; var retString = false;&nbsp; &nbsp; //creating xbrowser xmlhttp object; you handle any failures here&nbsp; &nbsp; var http = createXMLHttp();&nbsp;&nbsp; &nbsp; //setting headers&nbsp; &nbsp; http.open("POST", url, true);&nbsp; &nbsp; http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");&nbsp;&nbsp; &nbsp; //call-back handler&nbsp; &nbsp; http.onreadystatechange = function() {&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; if(http.readyState == 4) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if(http.status == 200) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //this went fine&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //read results now, you may trim it for extra spaces&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; retString = http.responseText;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //alert("retString: "+ retString);&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; return retString;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; }&nbsp; &nbsp; //send the request&nbsp; &nbsp; http.send(postParams);}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript