Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript URL中带有get参数的Angular JS$http post_Javascript_Jquery_Ajax_Angularjs - Fatal编程技术网

Javascript URL中带有get参数的Angular JS$http post

Javascript URL中带有get参数的Angular JS$http post,javascript,jquery,ajax,angularjs,Javascript,Jquery,Ajax,Angularjs,我在使用Angular的$http发布到带有GET参数的URL时遇到问题 URL:http://localhost/api/?r=page/product 现在我必须通过AJAX将数据发布到这个URL。当我用下面的代码尝试它时,它不起作用 $http({ url:'api/?r=page/product', method:'post', params:{ price:$scope.price }, }); 在jQuery中,这一点同样可以完美地发挥

我在使用Angular的$http发布到带有GET参数的URL时遇到问题

URL:
http://localhost/api/?r=page/product

现在我必须通过AJAX将数据发布到这个URL。当我用下面的代码尝试它时,它不起作用

$http({
    url:'api/?r=page/product',
    method:'post',
    params:{
       price:$scope.price
    },
});
在jQuery中,这一点同样可以完美地发挥作用

$.ajax({
 url:'api/?r=page/product',
 method:'post',
 data:{
    price:$scope.price
 }
});
我应该添加什么才能使它工作

关于

请尝试:

$http({
    url:'/api',
    method:'post',
    params: {
       r: 'page/product'
    },
    data:{
       price:$scope.price
    },
});

您将参数与数据混淆,参数是添加到url的查询参数,数据是在请求中发送的数据

能否尝试在
$http
选项
标题中指定标题:{'Content-Type':'application/x-www-form-urlencoded'}
@PankajParkar先生,如果我们没有为请求设置任何标题,我想默认标题将设置为
application/x-www-form-urlencoded
。错了吗,先生?@PankajParkar这已经是你说的了…@PankajParkar你是对的,它不是
url编码的
它的
json对象
@echo\u salik它没有头,或者你需要添加它?仍然要生成相同的url。看不出这是如何改变任何东西的。他将数据($scope.params)放到了params中,这就是为什么行为与以前不同的原因jQuery@alekkowalczyk谢谢,它真的很管用。。。但所发送的数据并不是一篇普通的帖子的样子。它就像一个JSON对象。@alekkowalczyk捕捉得很好