js发送post请求,js发送post请求接口
js如何提交post使php获取(使用原生js)
document.querySelector("#btnAjax").onclick = function () {
????????var ajax = new XMLHttpRequest();
????????// 使用post请求
????????ajax.open('post','ajax_post.php');
????????// 如果 使用post发送数据 必须 设置 如下内容
????????// 修改了 发送给 服务器的 请求报文的 内容
????????// 如果需要像 HTML 表单那样 POST 数据,请使用 setRequestHeader() 来添加 HTTP 头。然后在 send() 方法中规定您希望发送的数据:
????????ajax.setRequestHeader("Content-type","application/x-www-form-urlencoded");
????????// 发送
????????// post请求 发送的数据 写在 send方法中
????????// 格式 name=jackage=18 字符串的格式
????????ajax.send('name=jackage=998');
????????// 注册事件
????????ajax.onreadystatechange = function () {
????????????if (ajax.readyState==4ajax.status==200) {
????????????????console.log(ajax.responseText);
????????????}
????????}
????}
vue中使用mockjs简单返回数据、包括get,post请求
?1、安装
????npm install mockjs
2、在src文件下
????创建mock文件夹
????????在mock文件夹下创建json文件 并在json文件夹下创建index.json
? ? ????在mock文件下创建mock.js文件
3、在mian.js文件中引用mock.js? ? ? ??
????import?"./mock/mock.js";
? ? mock.js文件中的内容
? ? ```
? ??import?Mock?from?'mockjs'
????Mock.setup({
?????????timeout:?500?//设置一个延迟时间虚拟服务器响应效果
? ? ?})
//格式:?Mock.mock(?url,?post/get?,?返回的数据); Mock.mock('/getList',?'get',?require('./json/index.json'))
//?通过Mock.mock函数模拟post请求
Mock.mock('/api/addgoods',?'post',?function?(option)?{
?//?这里的option是请求的相关参数
var?$name=JSON.parse(option.body).name;
if($name){
????return?Mock.mock({
????????status:?200,
????????message:?'提交成功!!!'
????})
}else{
????return?Mock.mock({
????????status:?400,
????????message:?'未提交参数'
????})
}
})
? ```
index.json文件中的内容
```
{
? ?"retcode":?"0000",
??"retmsg":?"成功",
??"data":?[
????{
??????"tabId":?1,
??????"tabShowName":?"推荐",
??????"tabName":?"recommend"
????},
????{
??????"tabId":?2,
??????"tabShowName":?"7×24",
??????"tabName":?"7x24"
????},
????{
??????"tabId":?3,
??????"tabShowName":?"观点",
??????"tabName":?"opinion"
????}
??]
```? ??
3、发送请求并获取数据此处用的是axios
? ? 方式一:发送get请求
? ? ```
????this.$axios.get('/getList').then((res)={
????????console.log(res)
????})
????```
????方式二:发送post请求
? ? ```
? ????var??data={
????????name:"张三"
??????}
??this.$axios.post("/api/addgoods",data).then(res={
????????console.log(res,"MOCK?__?POST")
??})
????```
4、附上官网链接
?
5、目录结构
6、完结??
怎么用javascript发送post请求
//原生js实现Ajax
function ajax() {
var ajaxData = {
type: arguments[0].type || "GET",//提交方式,默认get
url: arguments[0].url || "",//路径
async: arguments[0].async || "true",//是否异步,默认异步
data: arguments[0].data || null,//参数
dataType: arguments[0].dataType || "text",//类型
contentType: arguments[0].contentType || "application/x-www-form-urlencoded",
beforeSend: arguments[0].beforeSend || function() {},
success: arguments[0].success || function() {},
error: arguments[0].error || function() {}
}
ajaxData.beforeSend()//默认执行before方法
var xhr = createxmlHttpRequest();//创建request对象
xhr.responseType = ajaxData.dataType;
xhr.open(ajaxData.type, ajaxData.url, ajaxData.async);
xhr.setRequestHeader("Content-Type", ajaxData.contentType);
xhr.send(convertData(ajaxData.data));
xhr.onreadystatechange = function() {
if(xhr.readyState == 4) {
if(xhr.status == 200) {
ajaxData.success(xhr.response)
} else {
ajaxData.error()
}
}
}
}
function createxmlHttpRequest() {
if(window.ActiveXObject) {//判断IE
return new ActiveXObject("Microsoft.XMLHTTP");
} else if(window.XMLHttpRequest) {
return new XMLHttpRequest();
}
}
function convertData(data) {
if(typeof data === 'object') {
var convertResult = "";
for(var c in data) {
convertResult += c + "=" + data[c] + "";
}
convertResult = convertResult.substring(0, convertResult.length - 1)
return convertResult;
} else {
return data;
}
}
var json = ajax({
url: "",
dataType: "json",
success: function(msg) {
var date=msg;
if(date.stateCode=200){
var result=date.dataList;
}
}
},
error: function() {
console.log("error")
}
})
以上是原生js实现,也可以引入jquery 使用$.post()
js发送http post请求无效怎么解决csdn
试试这个
$.ajax({
url:"(你要请求的url地址)",
data:{
"key1" : "value1",
"key2" : "value2"
},
type:"post", //此处传递方式可以是get也可以是post
dataType:"json", //后台要返回的数据形式
success:function(data){//请求成功的要执行的回调函数
console.log('请求成功');
console.log(data);
},
error:function(msg){//请求失败的要执行的回调函数
console.log('请求失败');
console.log(msg);
}
});
如何nodejs中发送post请求
调用官方api的时候,有一步需要用post发送请求,于是上网查了些资料,发现一般发送post请求的做法是(下面是简化版代码):
var querystring = require('querystring');
var https = require('https');
var post_data = querystring.stringify({
"name":"BOb",
"age":30,
"job":"teacher"
});
var post_req = https.request(post_opt,function(res){
//some code here
});
post_req.write(post_data);
post_req.end();
然而官方api要求发送的数据是这样的:
{
"action_name": "QR_LIMIT_SCENE",
"action_info": {
"scene": {
"scene_id": 1000
}
}
}
也就是说,调用了querystring.stringify方法之后,变成了action_name=QR_LIMIT_SCENEaction_info=。
如何使用js向指定一个网站发送一个带参数的post请求
/*
* 1 创建XMLHttpRequest对象 */
var xhr = ajaxFunction();
/*
* 2 服务器向浏览器响应请求
*
* readyState 属性表示Ajax请求的当前状态。它的值用数字代表。
0 代表未初始化。 还没有调用 open 方法
1 代表正在加载。 open 方法已被调用,但 send 方法还没有被调用
2 代表已加载完毕。send 已被调用。请求已经开始
3 代表交互中。服务器正在发送响应
4 代表完成。响应发送完毕
常用状态码及其含义:
404 没找到页面(not found)
403 禁止访问(forbidden)
500 内部服务器出错(internal service error)
200 一切正常(ok)
304 没有被修改(not modified)(服务器返回304状态,表示源文件没有被修改 ) */
xhr.onreadystatechange = function(){
alert(xhr.readyState); //alert(xhr.status);
if(xhr.readyState==4){ if(xhr.status==200||xhr.status==304){
var data = xhr.responseText;
alert(data);
}
}
}
/*
* 3 浏览器与服务器建立连接
*
* xhr.open(method, url, asynch);
* * 与服务器建立连接使用
* * method:请求类型,类似 “GET”或”POST”的字符串。
* * url:路径字符串,指向你所请求的服务器上的那个文件。请求路径
* * asynch:表示请求是否要异步传输,默认值为true(异步)。 */
xhr.open("POST","../testServlet?timeStamp="+new Date().getTime()+"c=18",true);
//如果是POST请求方式,设置请求首部信息
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
/*
* 4 浏览器向服务器发送请求
*
* send()方法:
* * 如果浏览器请求的类型为GET类型时,通过send()方法发送请求数据,服务器接收不到
* * 如果浏览器请求的类型为POST类型时,通过send()方法发送请求数据,服务器可以接收 */
xhr.send("a=6b=9"); //xhr.send(null);