2015-10-18 111 views
0

我试图在myewellness.com添加成员HTTP 405 API jQuery的AJAX PHP

我使用一个WordPress网站jQuery和PHP的,我已经收集用户的详细信息,并添加他myewellness.com 这是链接到他们的API文档: http://www.mediafire.com/view/pr6s7isht9ihdao/API-Services-Documentation-v2.0-1.pdf

,但我得到这个对铬:

OPTIONS https://api.myewellness.com/api/v1/services/membership/create send @ jquery.js?ver=1.11.2 
(index):1 XMLHttpRequest cannot load https://api.myewellness.com/api/v1/services/membership/create. Response for preflight has invalid HTTP status code 405 
(index):1509 Failed: [object Object] 

和CORS未启用错误的火狐狸,

这里是我的JS:

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"); 
      var api_payment_last_name = $("#payment_last_name"); 
      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(); 

      $.ajax({ 
       type: "POST", 
       url: "https://api.MYEWELLNESS.com/api/v1/services/membership/create", 
       /*headers: { 
        'Authorization':'Basic Vml0YWxhbGVydA==:MTI5OTky', 
        '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); 
       }, 
       error: function(error){ 
        console.log("Failed: "+error); 
       } 
      }); 
      console.log("API Fire Complete!"); 
      return false; 
     }); 
     }); 
    })(jQuery); 

回答

1

他们的服务器是不是给你权限去通知其他人的浏览器来访问他们的API。

你不应该想这样做,反正 - 否则你就会成为你的API密钥交给所有的访问者!

从你的服务器充分利用API请求,使用PHP,来代替。你可能会想看看cURL library这样做。

+0

但是当我删除标题,API服务器说未经授权,我不能只使用JS来算出这个? –

+0

不,你不能。使用PHP。 – Quentin

+0

请你能指导我怎么做? –