Angularjs $ http适用于localhost但在主机上检索404 [wordpress]

时间:2016-07-22 06:21:40

标签: php angularjs wordpress

我有这个检索/保存/删除/更新数据的代码,它在localhost上运行得很好,但在普通主机上它只检索404页。

角度代码

$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 );
});

在wordpress插件的php文件中:

 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;
 }

主持人回归:

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

2 个答案:

答案 0 :(得分:0)

尝试从url的开头删除斜杠

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

您还可以分享导致问题的网站的网址。

答案 1 :(得分:0)

我从$ http请求中删除了<dataSource type="javax.sql.XADataSource" ... <jdbcDriver javax.sql.XADataSource="org.postgresql.xa.PGXADataSource" ... ,现在它可以正常工作了。不知道这个背后的逻辑。