2016-03-17 44 views
0

我正在製作一個應用程序與apache cordova ...我需要從wordpress網站的文章。啓用CORS從Cordova應用程序調用JSON REST應用程序

請,你說之前,它是一個重複閱讀以下要點:

  1. 所以,我安裝了REST API V2:http://v2.wp-api.org/

  2. 啓用這樣的CORS: < ? header (" Access- Control-Allow -Origin : * ") ; ? >在頭部。主題的PHP,甚至在wp-content/plugins/json-api/singletons/api.php

  3. 我已經嘗試安裝這個:https://wordpress.org/plugins/wp-cors/

  4. 調用此方法爲GET REST API:

       jQuery.ajax({ 
           type: "GET", 
           url: "myURL", 
           contentType: "application/json; charset=utf-8", 
           dataType: "json", 
           success: function (data, status, jqXHR) { 
             alert("suucess"); 
           } 
    
          }); 
    

結果總是一樣的,螢火蟲返回我CORS被鎖定,所以我不能從外部需求...如何我修復?

回答

0

嗨沒有必要將它添加到您的主題標題,只需添加下面的代碼到的wp-content /插件/ JSON-API/JSON-api.php文件json_api_init()內功能

if (isset($_SERVER['HTTP_ORIGIN'])) { 
    header("Access-Control-Allow-Origin: *"); 
    header('Access-Control-Allow-Credentials: true');  
    header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); 
    } 

// Accept Cross Domain Transfer. 
    if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { 
    if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) 
    header("Access-Control-Allow-Methods: GET, POST, OPTIONS");   
    if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) 
    header("Access-Control-Allow-Headers:{$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}"); 
    exit(0); 
    } 
0

我已經解決了改變DataType: "json"DataType: "jsonp"

索爾ution:將DataType設置爲jsonp。

相關問題