原生js XMLHttpRequest发送 get post 请求 解决跨域 及 注意事项

这篇具有很好参考价值的文章主要介绍了原生js XMLHttpRequest发送 get post 请求 解决跨域 及 注意事项。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用js 原生的 XMLHttpRequest 发送get post 请求

2、使用xhr发起GET请求
四个步骤:

①:创建 xhr对象

 //1、创建一个 xhr 的对象
     let xhr = new XMLHttpRequest()

②:调用 xhr的open()函数(open中传递两个参数,参数一是GET/POST请求方式,参数二是请求的URL地址)

//2、调用xhr中的open()函数,创建一个Ajax的请求
     xhr.open('GET', 'http://www.baidu.com')

③:调用 xhr.send()函数

  //3、调用xhr的send函数,发起请求
     xhr.send()

④:监听 xhr.onreadystatechange事件

//4、监听 onreadystatechange 事件
     xhr.onreadystatechange = function () {
         //固定写法
         if (xhr.readyState === 4 && xhr.status === 200) {  
             //数据获取成功,获取服务器响应的数据 
             // xhr.response 是返回一个请求对象,responseText是把返回体以string方式输出
             console.log(xhr.responseText)
         }
     }

xhr发起GET请求的完整代码

 <script>
     // 携带参数
     let param = 1;
     let url = http://www.baidu.com
     //1、创建一个 xhr 的对象
     let xhr = new XMLHttpRequest()
     //2、调用xhr中的open()函数,创建一个Ajax的请求,拼接请求参数
     xhr.open('GET',url+'?param='+param)
     //3、调用xhr的send函数,发起请求
     xhr.send()
     //4、监听 onreadystatechange 事件
     xhr.onreadystatechange = function () {
         //固定写法
         if (xhr.readyState === 4 && xhr.status === 200) {  
             //数据获取成功,获取服务器响应的数据 
             console.log(xhr.responseText)
         }
     }
 </script>

发送post请求

直接上示例

function httpPostLocaltion(key,params){
	let url = "http://www.baidu.com";
	// 把参数对象转换为json
	let param = JSON.stringify(params);
	let xhr = new XMLHttpRequest();
	xhr.onreadystatechange = function () {
	    if (xhr.readyState == 4 &&  xhr.status === 200) {
	    	console.log("后端返回的结果:"+this.responseText);
	    	/** 你的逻辑代码 **/
	    	this.response
			console.log(this.response)
	    }
	};
	xhr.open(
		"post",
		url,
		true
	);
	// 注意,设置请求头的信息必须写在下面,否则会报错
	// 设置以json传参
	xhr.setRequestHeader("Content-Type", "application/json;charset=UTF-8"); 
	// 解决跨域问题
	xhr.setRequestHeader("Access-Control-Allow-Origin", "*");
	// 设置请求体携带的参数
	xhr.send(param);
}

报错内容是这个
Failed to execute ‘setRequestHeader’ on ‘XMLHttpRequest’: The object’s state
那就是上面提出的问题,需要把设置请求头的信息放到监听方法下方文章来源地址https://www.toymoban.com/news/detail-586973.html

到了这里,关于原生js XMLHttpRequest发送 get post 请求 解决跨域 及 注意事项的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • httpclient发送Get请求和Post请求

    1). 创建HttpClient对象,可以使用 HttpClients.createDefault() ; 2). 如果是无参数的GET请求,则直接使用构造方法 HttpGet(String url )创建HttpGet对象即可; 3)如果是带参数GET请求,则可以先使用 URIBuilder (String url)创建对象,再调用 addParameter (Stringparam, String value)`, 或setParameter(String param

    2024年02月06日
    浏览(63)
  • chrome 模拟发送POST请求和GET请求

    F12打开Console输入以下代码:

    2024年02月11日
    浏览(53)
  • 使用Postman发送GET请求和POST请求

    Postman是一款流行的API测试和开发工具,它提供了一个易于使用的界面,用于发送HTTP请求并与REST、SOAP和其他Web服务进行交互。以下是对Postman的简单介绍: 发送HTTP请求:Postman允许您以简单直观的方式发送各种类型的HTTP请求(GET、POST、PUT、DELETE等)到指定的URL。您可以设置请

    2024年02月05日
    浏览(63)
  • HttpRequest发送网络请求POST/GET

    会返回你需要的数据,类型为String HttpRequest.get获取网络发过来的String类型的数据,如需获取里面的某一参数,需对数据进行解析。解析方式如下: 示例接收到的String类型转JSON后格式:  解析:

    2024年01月19日
    浏览(45)
  • Java发送HTTP GET/POST请求

    在这篇文章中,将向你展示四种发送Http的GET/POST的例子,如下: 在Java11的java.net.http.*包中,有一个HttpClient类可以完成HTTP请求。 Java11HttpClientExample.java 本例使用HttpURLConnection(http)和HttpsURLConnection(https) HttpURLConnectionExample.java 使用Apache HttpClient完成HTTP请求的发送需要添加Maven依赖

    2024年02月13日
    浏览(48)
  • curl命令行发送post/get请求

    curl 是一个命令行实用程序,允许用户 创建网络请求 curl 在 Windows 、 Linux 和 Mac 上皆可使用 一个简单的 POST 请求 -X :指定与远程服务器通信时将使用哪种 HTTP 请求方法 POST 请求传递数据 -d :设置请求参数(拼接参数或json) -H :设置request里的header -F :模拟HTTP表单数据提交

    2024年02月05日
    浏览(50)
  • 微信小程序-发送Get/Post请求

    一、Get请求 二、Post请求

    2024年02月16日
    浏览(47)
  • get方式发送请求出现跨域问题

    Access to XMLHttpRequest at \\\'http://localhost:8090/concern?pageSize=10pageNum=1param[deviceWorkspace]=param[userAccount]=%22190013129%22\\\' from origin \\\'http://localhost:8080\\\' has been blocked by CORS policy: No \\\'Access-Control-Allow-Origin\\\' header is present on the requested resource. 但同伴说他已经在后端对跨域问题进行处理了。这里可以考

    2024年02月16日
    浏览(40)
  • django中发送get post请求并获得数据

    总结就是 GET[‘a’] 如果url 没有传递过来 就会报错 GET.get(‘c’, “no value”) 如果url 没有传递过来 就会使用默认值 request.GET.getlist(‘d’, “no value”) 当存在多个相同key 就会形成列表 可以get 请求返回页面 页面中存在form form 进行post 请求 在views.py 一下代码就会发送post请求 把

    2024年02月11日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包