gpt4 book ai didi

javascript - jQuery ajax 请求有效,相同的 AngularJS ajax 请求无效

转载 作者:可可西里 更新时间:2023-11-01 01:38:07 24 4
gpt4 key购买 nike

我正在学习 AngularJS 并尝试构建从 Wordpress 获取数据的前端系统。

在后端,一切似乎都已正确设置,当我使用 jQuery ajax 请求时,它可以毫无问题地获取数据。

jQuery.ajax({
type: 'POST',
url: '/wp-admin/admin-ajax.php',
data: {
action: 'getdataajax'
},
success: function(data, textStatus, XMLHttpRequest){
console.log(data);
},
error: function(MLHttpRequest, textStatus, errorThrown){
console.log(errorThrown);
}
});

但是当我尝试用 AngularJS 做同样的事情时,它不起作用。我正在尝试使用如下代码复制 ajax 请求:

myApp.factory('productsData', function($http, $log) {
return {
getProducts: function(successcb) {
return $http({
method: 'POST',
url: '/wp-admin/admin-ajax.php',
data: {action: 'getdataajax'}
}).success(function(data, status, headers, config) {
successcb(data);
$log.info(data, status, headers(), config)

}).error(function(data, status, headers, config) {
$log.warn(data, status, headers(), config)
});
},

};
});

如果我记录它,它输出 0。我错过了什么?

感谢您的帮助。

附言 Controller 看起来像这样:

myApp.controller('ProductsController', function ProductsController($scope, productsData) {

$scope.sortorder = 'name';

// $scope.products = productsData.products;
// $scope.products = productsData.getProducts();

productsData.getProducts(function(products){
$scope.products = products;
});
});

最佳答案

在angularjs代码中,使用params:代替data:

在 jquery 中,提供给 data: 配置设置的对象将转换为查询字符串 (?key1=val1&key2=value2),除非您设置 processData: false。在 angularjs 中,你必须使用 params: 来获取查询字符串,data: 以 json 或字符串形式发送。

关于javascript - jQuery ajax 请求有效,相同的 AngularJS ajax 请求无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18967307/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com