2016-07-22 5 views
0

Ich habe diesen Code, der Daten abruft/speichert/löscht/aktualisiert und es funktioniert perfekt auf localhost, aber auf einem normalen Host ruft es 404 Seite ab.

Angular Code

$http({ 
    method : "REQUEST", 
    url : "/wp-admin/admin-ajax.php", 
    params : { action: "pl", reqType: "createRole", name: role.name } 
}).then(function successAjax(data) { 
     console.log(data); 
}, function errorAjax(data) { 
     console.log(data); 
}); 

Und auf der PHP-Datei der Wordpress-Plugin:

add_action("wp_ajax_pl", "reqHandler"); 
function reqHandler() { 
     $_pl_class = new Pl_class(); 
     switch($_REQUEST[ 'reqType' ]) : 
       case "getRoles": 
         echo json_encode($_pl_class -> get_role()); 
       break; 
       case "deleteRole": 
         echo json_encode($_pl_class -> delete_role($_REQUEST[ "roleId" ])); 
       break; 
       case "updateRole": 
         echo json_encode($_pl_class -> update_role($_REQUEST[ "roleId" ], $_REQUEST[ "roleName" ])); 
       break; 
       case "createRole": 
         echo json_encode($_pl_class -> create_role($_REQUEST[ "name" ])); 
       break; 
     endswitch; 
     exit; 
} 

Die Rückkehr in host:

Object { data: "<!DOCTYPE html>"[…], status: 404, headers: gd/<(), config: Object, statusText: "Not Found" } 

Antwort

0

Versuchen von slash von Anfang der URL zu entfernen

url : "wp-admin/admin-ajax.php", 

Sie können auch URL der Website teilen, wo es ein Problem verursacht.

+0

Es ist in WP-Admin so Art von kann nicht versucht, eine ABS-Pfad immer noch nicht funktioniert und der Schrägstrich nicht zu –

+0

PLZ teilen Sie den Link der Website, wo Sie versuchen. –

+0

Es ist in Admin-Panel kann Sie nicht ganz zeigen, weil Sie Administratorrechte benötigen. Vielleicht ist ein Problem, wo ich die PHP-Handler-Funktion? Es ist in einer der Klassen-Dateien, ich wusste nicht ganz wo es –

0

Ich löschte die method : 'REQUEST' von der $ http Anfrage und jetzt funktioniert es. Ich kenne die Logik hinter diesem tho nicht.

Verwandte Themen