相关疑难解决方法(0)

无法使用jQuery AJAX将null传递给服务器.在服务器上收到的值是字符串"null"

我正在转换javascript/php/ajax应用程序以使用jQuery来确保与Firefox以外的浏览器兼容.

我使用jQuery的ajax函数传递true,false和null值时遇到问题.

Javascript代码:

$.ajax
(
   {
      url     : <server_url>,
      dataType: 'json',
      type    : 'POST',
      success : receiveAjaxMessage,
      data:
      {
         valueTrue : true,
         valueFalse: false,
         valueNull : null
      }
   }
);
Run Code Online (Sandbox Code Playgroud)

PHP代码:

var_dump($_POST);
Run Code Online (Sandbox Code Playgroud)

服务器输出:

array(3) {
  ["valueTrue"]=>
  string(4) "true"
  ["valueFalse"]=>
  string(5) "false"
  ["valueNull"]=>
  string(4) "null"
}
Run Code Online (Sandbox Code Playgroud)

问题是null,true和false值正在转换为字符串.

当前使用的Javascript AJAX代码正确传递null,true和false,但仅适用于Firefox.

有谁知道如何使用jQuery解决这个问题?


下面是一些工作代码(不使用jQuery)与上面给出的不工作代码进行比较.

Javascript代码:

ajaxPort.send
(
   <server_url>,
   {
      valueTrue : true,
      valueFalse: false,
      valueNull : null
   }
);
Run Code Online (Sandbox Code Playgroud)

PHP代码:

var_dump(json_decode(file_get_contents('php://input'), true));
Run Code Online (Sandbox Code Playgroud)

服务器输出:

array(3) {
  ["valueTrue"]=>
  bool(true)
  ["valueFalse"]=>
  bool(false)
  ["valueNull"]=>
  NULL
}
Run Code Online (Sandbox Code Playgroud)

请注意,正确接收null,true和false值.

另请注意,在第二种方法中,$ …

ajax null jquery

16
推荐指数
3
解决办法
2万
查看次数

标签 统计

ajax ×1

jquery ×1

null ×1