我在通过Jquery / Ajax调用API时遇到问题。 我收到405错误... 任何人都可以修改我的代码,所以我可以使它可行..请我真的需要它。
我得到的错误:
这是我的代码:
<script>
jQuery.noConflict();
(function( $ ) {
$(function() {
$("#register_form").submit(function(){
console.log("Wellness API Initiated!");
var api_user_name = $("#user_name").val();
var api_user_email = $("#user_email").val();
var api_payment_first_name = $("#payment_first_name").val();
var api_payment_last_name = $("#payment_last_name").val();
var api_user_password = $("#user_password").val();
var api_client_address_one = $("#client_address_one").val();
var api_client_address_two = $("#client_address_two").val();
var api_client_city = $("#client_city").val();
var api_client_state = $("#client_state").val();
var api_client_zip = $("#client_zip").val();
var api_client_gender = $("#client_gender").val();
var api_client_home_phone = $("#client_home_phone").val();
var api_client_cell_phone = $("#client_cell_phone").val();
var api_client_work_phone = $("#client_work_phone").val();
var api_client_birth_date = $("#client_birth_date").val();
//alert(api_payment_first_name + api_user_name + api_client_zip);
$.ajax({
type: "POST",
url: "https://api.MYEWELLNESS.com/api/v1/services/membership/create",
headers: {
'Authorization':'Basic VitalAlert:5kpN9cYTafnVmZTS',
'Content-Type':'application/json'
},
data: "user_name="+api_user_name+"&password="+api_user_password+"&first_name="+api_payment_first_name+"&last_name="+api_payment_last_name+"&address1="+api_client_address_one+"&address2="+api_client_address_two+"&city="+api_client_city+"&state="+api_client_state+"&country=US&zip="+api_client_zip+"&email="+api_user_email+"&phone="+api_client_home_phone+"&work_phone="+api_client_work_phone+"&cell_phone="+api_client_cell_phone+"&gender="+api_client_gender+"&birthdate="+api_client_birth_date,
datatype: "json",/*
beforeSend: function(xhr) { xhr.setRequestHeader("Authorization", "Basic " +"Vml0YWxhbGVydA==:MTI5OTky"); },*/
success: function(msg){
console.log("Success: "+msg);
alert("success");
alert(data);
return flase;
},
error: function(error){
console.log("Failed: "+error);
alert("false");
alert(data);
return false;
}
});
console.log("API Fire Complete!");
return false;
});
});
})(jQuery);
</script>
答案 0 :(得分:2)
假设你的授权标题是正确的,也许你想尝试这样做。
一些注意事项:
1)将数据类型更改为dataType
2)删除&#39;内容类型&#39;:&#39; application / json&#39;从标题
3)用以下格式替换数据内容
从第1步开始并进行测试。如果失败,请继续执行步骤2等。
$.ajax({
type: "POST",
url: "https://api.MYEWELLNESS.com/api/v1/services/membership/create",
headers: {
'Authorization':'Basic ' + btoa('VitalAlert:5kpN9cYTafnVmZTS')'
},
data: {
user_name: api_user_name,
password: api_user_password,
...
...
},
dataType: "json",
success: function(msg){
console.log("Success: "+msg);
alert("success");
alert(data);
return flase;
},
error: function(error){
console.log("Failed: "+error);
alert("false");
alert(data);
return false;
}
});
&#13;
$.ajax({
type: "POST",
url: "https://api.MYEWELLNESS.com/api/v1/services/membership/create",
headers: {
'Authorization':'Basic VitalAlert:5kpN9cYTafnVmZTS'
//'Content-Type':'application/json'
},
data: {
user_name: api_user_name,
password: api_user_password,
first_name: api_payment_first_name,
last_name: api_payment_last_name,
address1: api_client_address_one,
address2: api_client_address_two,
city: api_client_city,
state: api_client_state,
country: "US",
zip: api_client_zip,
email: api_user_email,
phone: api_client_home_phone,
work_phone: api_client_work_phone,
cell_phone: api_client_cell_phone,
gender: api_client_gender,
birthdate: "21-04-1990"
},
//data:dpost,
dataType: "json",/*
beforeSend: function(xhr) { xhr.setRequestHeader("Authorization", "Basic " +"Vml0YWxhbGVydA==:MTI5OTky"); },*/
success: function(msg){
console.log("Success: "+msg);
alert("success");
alert(data);
return flase;
},
error: function(error){
console.log("Failed: "+error);
alert("false");
alert(data);
return false;
}
});
答案 1 :(得分:0)
通过从“CURL”发送请求和数据来解决此问题。 Ajax / Json在发送查询时阻止了请求。 所以我将代码更改为CURL请求,它开始工作..
谢谢大家的帮助。