【问题标题】:Unable to send special symbols in array keys using $http POST method in AngularJS无法使用 AngularJS 中的 $http POST 方法在数组键中发送特殊符号
【发布时间】:2016-05-28 07:40:22
【问题描述】:

无法在 AngularJS 中使用 $http POST 方法在数组键中发送特殊符号

这是我的 AngularJS 代码:

var httpHeader = {
    headers: { 'Content-Type': "application/x-www-form-urlencoded;" }
};
var postData = { 'user_id !=': 1 };
$http.post("http://localhost/api/view/country", $httpParamSerializer(postData), httpHeader)
.then(function (response) {
    var data = response.data;
});

当我这样做时在 PHP 中:

var_dump($_POST);

它显示:

array(1) {
  [0]=>
  string(1) "1"
}

应该是这样的:

array(1) {
  [user_id !=]=>
  string(1) "1"
}

当我在没有“!=”的情况下发送它时,它工作正常。我该怎么做才能解决这个问题?谢谢

【问题讨论】:

  • 工作正常吗? eval.in/578519
  • 很高兴看到这一点,但我不知道为什么它在我的情况下不起作用,让我在问题中添加我的代码
  • 可能是 PHP 的旧版本?
  • 显示 var_dump($_POST);

标签: php arrays angularjs


【解决方案1】:

如果您使用关联数组并且在您的情况下将密钥作为字符串传递,它将正常工作 我不知道为什么要创建它

$arr[0] = 1;

Working demo

【讨论】:

【解决方案2】:
<?php

$arr["user_id !="] = 1;

// Print all the elements of $arr
print_r($arr);

echo '<br/>'.$arr["user_id !="] ;

运行上面的代码。我认为 "user_id !=" 不是索引名称的问题,因为它工作正常。

【讨论】:

  • 是的,但我通过 POST 方法,AJAX 调用传递它
  • @Punit 如何使用 AJAX 传递数据。能否请您分享您的代码,以便找出问题所在
  • 我已按照您的建议编辑了问题,请查看。谢谢
  • 为了更好的解释我添加了新问题,请查看stackoverflow.com/questions/37497000/…
猜你喜欢
  • 2017-06-19
  • 1970-01-01
  • 2016-10-24
  • 1970-01-01
  • 2015-02-11
  • 1970-01-01
  • 2018-11-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多