我有这个检索/保存/删除/更新数据的代码,它在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" }
答案 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" ...
,现在它可以正常工作了。不知道这个背后的逻辑。