现在已经挖了几个小时了。
我有vue.js代码:
int id;
var phonesData = new List<SelectListItem>();
if (Int32.TryParse(carrierid, out id))
{
var phonesList = this.GetPhones(id, emailaddress); // here
phonesData = phonesList.Select(m => new SelectListItem()
{
Text = m.Name,
Value = m.PhoneID.ToString(),
}).ToList();
return Json(phonesData, JsonRequestBehavior.AllowGet);
}
else
return null; // or throw an exception
后端用GO代码编写:
$(document).ready(function() {
var vue = new Vue({
el: '#login',
data: {
logged_in: false,
username: "",
password: "",
csrf_token: "",
},
methods: {
login: function() {
$.ajax({
url: apiEndpoint + '/login/',
type: "POST",
dataType: "json",
dataType: 'json',
data: JSON.stringify({"username": username.value,
"password": password.value,
"csrf_token": this.csrf_token}),
success: (data) => {
alert(1);
}
});
return false;
},
getCsrfToken: function() {
$.ajax({
url: apiEndpoint + '/login/',
success: (data) => {
this.csrf_token = data["Csrf_Token"];
if(data["User_id"] !== "") {
this.logged_in = true;
}
}
});
}
}
});
vue.getCsrfToken();
});
我的服务器处理程序:
w.Header().Set("Access-Control-Allow-Origin", "*")
w.Header().Set("Access-Control-Allow-Headers", "Content-Type")
w.Header().Set("Access-Control-Allow-Methods", "POST, GET, OPTIONS")
fmt.Printf("METHOD - %s\n", r.Method)
if r.Method == "POST" {
浏览器发送OPTIONS请求女巫很好。然后它发送一个POST请求并得到400,错误的请求,但后端甚至没有注册请求(fmt.Print ..)。
为什么我的帖子请求获得400?
谢谢!
编辑:PICS !!
答案 0 :(得分:-1)
您应该针对像https://www.posttestserver.com/之类的测试服务器测试您的代码,然后您可以转到http://posttestserver.com/data/并查看您发送的请求,因为它可能没有发送您认为的请求。