javascript - 使用 AJAX 从 PHP 文件获取数据

标签 javascript php jquery ajax

我尝试使用 AJAX 从 PHP 文件获取一些数据,但只收到错误:

Uncaught TypeError: Cannot read property 'protocole' of null

协议(protocol)生成器.php

<?php    
    $array = array(
        'protocole' => '1029384756',
    );
    echo json_encode($array);
?>

脚本.js

function getDemoProtocol() {
    $.ajax({
        url: 'protocoleGenerator.php',       
        data: "",
        dataType: 'json', //data format      
        success: function (data) {
            var protocole = data['protocole'];
            console.log("Prot: " + protocole);
        }
    });
}

这里出了什么问题?

最佳答案

我现在无法发表评论:(并写下我的建议作为答案。您似乎在 protocoleGenerator.php 中输入错误。可能结束行看起来像 echo json_encode( $aray);,在这种情况下 json_encode() 返回纯 null (如果您禁用了 php 通知)。成功函数接收 null 并且无法从该对象获取属性。这只是我的主观建议。可能是错误的。

P.S:您可以获取值/调用函数作为 Object.my_fun() 或 Object['my_func']() - 对于这种特殊情况,您如何访问变量并不重要。例如:

   var o = {};
   o.test = 'my test value';
   o.fff = function() {return 'fff called.';};
   console.log('dot-style:' + o.test);
   console.log('arr-style:' + o['test']);
   console.log('dot-style:' + o.fff());
   console.log('arr-style:' + o['fff']());

好吧,我有一个减号。如果假设,该主题启动器向我们展示了他的代码的硬拷贝粘贴,那么这里没有问题。我的建议基于错误消息 - “成功函数”从服务器获取带有文本“null”的 HTTP/200 答案。对于空或无效的 json 响应,jquery-ajax 调用“错误处理程序”。我确信它不是由 json_encode() 行为引起的 - 我上面的例子证明了这一点。

另一个建议是特定的服务器配置、重写、重定向或其他东西。但我已经排除了这个建议。

噢...

<?php
$array = array(1,2);
$аrray = array(3,4);
var_dump($array);
var_dump($аrray);

结果看起来像这样:

array(2) {
  [0] =>
  int(1)
  [1] =>
  int(2)
}
array(2) {
  [0] =>
  int(3)
  [1] =>
  int(4)
}

你看到区别了吗?我不知道,但第二个 $array 从西里尔字符开始。

关于javascript - 使用 AJAX 从 PHP 文件获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35203601/

相关文章:

javascript - Jquery 是否有任何内置方法可以单独查找可验证元素?

页面更改时 PHP connection_aborted() 不起作用

javascript - 字符串的粗体部分/向变量添加样式

javascript - 未捕获的类型错误 : Failed to execute 'removeChild' on 'Node' : parameter 1 is not of type 'Node'

javascript - 如何禁用打印屏幕?

php - mysql - 获取最接近正确值的值根据结果返回零到多个

php - 如何从 PDO 的 fetchAll 结果中获取列名?

javascript - 构建闹钟风格的应用程序

javascript - jQuery 'if' 语句不起作用

javascript - 防止移动用户下载桌面轮播图片