找个会的远程教一下post接口怎么写,自己写老报错找不到问题。
私信聊远程方式
调用代码
究竟报了什么错?
有遇到问题可以来讨论。
如果需要远程,我这边也可以搞哈
报了啥错 具体错误信息贴出来
chrome抓个包对比就知道了,漏参数了吧
是你的密码没有加密吧…明文不可以吧
要从前端发出post请求,可以使用fetch API或AJAX请求。您还可以使用诸如Axios或jQuery之类的库来发出请求。请求应包括端点的URL、HTTP方法(POST)、要发送的数据以及可能需要的任何标头。
对于接口开发,主要包含三个部分:前端请求代码,后端接口代码,数据存储(数据库等)。
1.前端请求代码:前端通过发送 HTTP POST 请求实现向后端提交数据。具体的代码实现可以使用 JavaScript、jQuery 等实现。
2.后端接口代码:后端代码接收前端发送的数据并进行相应的处理,最终将处理结果存储到数据库中。后端语言可以使用 Java、Node.js、PHP 等实现。
3.数据存储:后端通过数据库存储前端提交的数据,例如 MySQL、MongoDB 等。
如果您的问题是关于具体代码实现的问题,您可以告诉我您使用的语言和框架,我将会告诉您具体实现方法。
后台post接口写法如下:
//post请求 查询是传入两个参数
@ResponseBody
@RequestMapping(value = "/check2", method = RequestMethod.POST, produces = "application/json;charset=UTF-8")
//@PostMapping("/check2")
public AnswerRet check2(@RequestBody Map pjson) {
try{
return TestServiceImpl.checkHaveIt(pjson.get("creator_id").toString(),pjson.get(
"reporter_id").toString());
}catch (RuntimeException e){
throw new RrException(e.getMessage(),400);
}
}
然后在前台使用ajax调用这个接口
var params={//参
"creator_id":from1.first.value,
"reporter_id":from1.last.value
};
var settings = {
"url": "http://localhost/check2",
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/json;charset=UTF-8"
},
"data": JSON.stringify(params),
};
$.ajax(settings).done(function (response) {
alert(response.msg);
});
return false; // 阻止表单自动提交事件 return false
ajax POST请求网上的案例非常多的,可以参考如下案例,希望对你能有帮助!
function login(e){
e.preventDefault();//会阻止一次,但是阻止得是post请求,如果不阻止会请求2次
var formData=$('#login_form').serialize();
$.ajax({
type:'POST',
url:'/user/login',
data:formData,
dataType:"json",
success:function(data){
console.log(data);
var err_code=data.err_code;
alert(data.msg);
}
})
}
题主,这个问题我来替你解决,若有帮助,还望采纳,点击回答右侧采纳即可。
我给你提供两种方案,希望能帮到你。
axios.post("/addVue", {
"name":this.formMess.name,
"password":this.formMess.password
},{
headers: {
responseType: 'json'
}
}).then((res)=>{
console.log(res);
alert("提交数据成功!")
}).catch(err => {
console.log(err); //打印响应数据(错误信息)
});
写法2 => axios({})
axios({
method:"post",
url:"/addVue",
data:{
"name":this.formMess.name,
"password":this.formMess.password,
},
header:{
responseType: 'json' //响应数据格式为"json"
}
}).then((res)=>{
console.log(res);
alert("提交数据成功!")
}).catch(err => {
console.log(err); //打印响应数据(错误信息)
});
首先,请检查接口地址是否正确。您可以在浏览器中访问该地址,确保能正常返回数据。
其次,请确保该接口支持post请求。您可以在该接口的API文档中查询。
再者,请检查发送的数据格式是否正确。您在发送的数据中指定了"yhm","mm","lx"三个字段,但接口的API文档可能定义了更多的字段。
最后,如果以上步骤都没有解决您的问题,您可以尝试使用控制台调试代码。您可以使用console.log()方法在代码中记录与接口通信相关的信息,以查找问题。
你这个是用的jq的写法,有没有想引入jq
不知道你这个问题是否已经解决, 如果还没有解决的话:
POST接口的使用
1、定义接口:在服务器端,需要定义POST接口,指定接口的URL,接口需要接收的参数,以及接口返回的数据格式。
2、发送POST请求:在客户端,需要发送POST请求,将参数传输到服务器端,并获取服务器端返回的结果。
3、处理数据:在服务器端,接收到POST请求后,根据请求中的参数,处理数据,并返回结果。
三、POST接口的代码示例
以下是一个使用POST接口实现简单加法运算的代码示例:
客户端代码:
// 定义接口地址
var url = "http://example.com/api/add";
// 定义参数
var params = {
"a": 1,
"b": 2
};
// 发送POST请求
$.post(url, params, function(data) {
// 处理返回结果
console.log(data);
});
服务器端代码:
// 获取参数
$a = $_POST['a'];
$b = $_POST['b'];
// 进行加法运算
$c = $a + $b;
// 返回结果
echo json_encode(array("result" => $c));