【问题标题】:using php json result in JavaScript在 JavaScript 中使用 php json 结果
【发布时间】:2014-12-15 15:12:20
【问题描述】:

我正在尝试使用我的 MYSQL 结果,我正在用 PHP 调用 JavaScript。

我在 PHP 文件中的代码:

$con = mysqli_connect($kalenderCFG['server'], $kalenderCFG['username'], $kalenderCFG['password'], $kalenderCFG['database'], $kalenderCFG['port']);
$strSQL = "SELECT DATE_FORMAT(`Datum`, '%d.%m.%Y') AS Datum, `Titel`, `Beschreibung`  FROM `cal` WHERE month(`Datum`) = '" . $month . "' AND year(`Datum`) = '" . $year . "' ORDER BY `Datum`";
$result = mysqli_query($con, $strSQL);
$data = array();
while ($row = mysqli_fetch_assoc($result)){
    $data[] = $row;
}
echo json_encode($data);

这很好用,例如我得到以下内容

[{"Datum":"02.12.2014","Titel":"Mathe KA","Beschreibung":"ABI-Vorklausur"},{"Datum":"12.12.2014","Titel":"Physik KA","Beschreibung":"ABI-Vorklausur"},{"Datum":"13.12.2014","Titel":"Mein erster Termin","Beschreibung":"Das ist einfach nur ein Testeintrag um die Funktion zu testen."}]

当我现在尝试通过以下代码在 JavaScript 中使用此代码时:

var json = String($.get('myPhpFile.php'));
    listEvents = JSON && JSON.parse(json) || $.parseJSON(json);
$('.container').prepend(listEvents[1].Datum);

我收到“未捕获的语法错误:意外的标记 o”

当我现在尝试用另一种方式来做时:

var json = String($.get('myPhpFile.php'));
$('.container').prepend(json[1].Datum);

这会打印整个 json 变量。

还有这个:

var json = $.get('myPhpFile.php');
$('.container').prepend(json[1].Datum);

未捕获的类型错误:无法读取未定义的属性“基准”

那我做错了什么。 希望你能帮助我。

【问题讨论】:

    标签: javascript php jquery mysql json


    【解决方案1】:

    $.get does not return a string,它返回一个 JQXHR 对象,因为您的数据还没有被检索到。您需要在回调中处理返回,如果您正确执行此操作,则不必解码 JSON:jQuery 将为您处理它。试试这样的:

    $.get('myPhpFile.php', {}, function(json) {
        $('.container').prepend(json[1].Datum);
    }, 'json');
    

    此外,如果您在 PHP 中提供正确的 Content-Type 标头,jQuery 会自动将 dataType 设置为 JSON。

    【讨论】:

      【解决方案2】:

      试试这个

      $.get( "myPhpFile.php", {}, function( data ) {
        console.log(data);
      }, "json" );
      

      它应该写入控制台json响应,因为$.get()是异步的,所以你必须等待来自服务器的结果并且也不返回字符串。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-15
        • 1970-01-01
        • 1970-01-01
        • 2015-02-05
        • 2011-08-16
        • 1970-01-01
        相关资源
        最近更新 更多