为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript 中有 GET 和 POST 方法吗?

JavaScript 中有 GET 和 POST 方法吗?

慕哥6287543 2022-10-13 14:35:36
有什么方法可以像在 PHP 中一样在 JavaScript 中使用 GET 和 POST 方法?当然,我可以使用 PHP 在脚本标签中回显 javascript 代码,但在我的情况下这是不可能的......
查看完整描述

2 回答

?
翻过高山走不出你

TA贡献1875条经验 获得超3个赞

XMLHttpRequest是您所需要的。这是与服务器通信的本机方式。

另外,感谢@charlietfl,更现代的方法是使用fetch,但 IE 不支持它。


查看完整回答
反对 回复 2022-10-13
?
暮色呼如

TA贡献1853条经验 获得超9个赞

正如已经指出的那样,您可以尝试fetch但以下代码示例也可能对您有用 - 同时。只需使用正确的参数调用ajaxPOST(postParams, url) 。


//This function creates cross-browser XMLHttp object

function createXMLHttp(){

    if (typeof XMLHttpRequest != "undefined") { 

        return new XMLHttpRequest();

    } else if (window.ActiveXObject) {  

        var aVersions = [   "MSXML2.XMLHttp.9.0",

                            "MSXML2.XMLHttp.8.0",

                            "MSXML2.XMLHttp.7.0",

                            "MSXML2.XMLHttp.6.0",

                            "MSXML2.XMLHttp.5.0",

                            "MSXML2.XMLHttp.4.0","MSXML2.XMLHttp.3.0",

                            "MSXML2.XMLHttp","Microsoft.XMLHttp"

                        ];

        for (var i = 0; i < aVersions.length; i++) {

            try {

                var oXmlHttp = new ActiveXObject(aVersions[i]);

                return oXmlHttp;

            } catch (oError) {

                //Do nothing

            }

        }

    }   

    //if it reaches here, this cannot be created

    throw new Error("XMLHttp object could be created.");    

}


//this does Ajax POST

//sample params: var postParams = "key1="+value1+"&key2="+value2+"&keyx="+valuex; 

function ajaxPOST(postParams, url){

    var retString = false;

    //creating xbrowser xmlhttp object; you handle any failures here

    var http = createXMLHttp(); 

    //setting headers

    http.open("POST", url, true);

    http.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 

    //call-back handler

    http.onreadystatechange = function() {      

        if(http.readyState == 4) {

            if(http.status == 200) {

                //this went fine 

            }

            //read results now, you may trim it for extra spaces

            retString = http.responseText;

            //alert("retString: "+ retString); 

        }

        return retString;       

    }

    //send the request

    http.send(postParams);

}


查看完整回答
反对 回复 2022-10-13
  • 2 回答
  • 0 关注
  • 128 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号