【问题标题】:Use PHP into JQuery Array使用 PHP 插入 JQuery 数组
【发布时间】:2014-10-28 11:20:22
【问题描述】:

我使用了 X-Editable 中的示例表,它使用 JQuery 中的数组来填充下拉选项框。这很好,但我想使用数据库来提供数组。

以下是 X-Editable 演示中的代码

var jsStringFromPHP = "<?php echo json_encode($r); ?>";

$.mockjax({
url: 'myphppage.php',
response: function (settings) {
    this.responseText = jsStringFromPHP;
    log(settings, this);
}
});

这就是我从数据库中获取数组所做的工作

<?php
require 'assets/functions/core/init.php';
$p = db::getInstance()->query('SELECT id as value, name as text FROM information', array());
    $r = $p->results();
    echo json_encode($r);
?>

如何将php数组合并到jquery中并替换静态列表?

【问题讨论】:

  • 移除&lt;pre&gt;标签,并通过ajax使用你的php输出结果作为json对象。
  • 谢谢,但是在 jquery 中 this.responseText = 之后我该如何称呼它?
  • 您在 ajax 回调的设置参数中收到响应 json。
  • this.responseText = {settings} 我猜
  • 抱歉不明白 {settings} 代表什么,我想了解如何调用 php 代码在 jqUery 中运行

标签: php jquery arrays


【解决方案1】:

只需使用json_encode 将您的数组编码为JSON 并返回它作为响应。然后在 ajax 函数的success 回调中,使用那个JSON 字符串。

要了解更多关于如何处理它,请阅读:Load JSON Data Using jQuery AJAX

这样使用,

$.mockjax({
    url: "hello.php",
    proxy: 'sample.json',
    responseTime: 0,
    dataType: 'json'
});

$.ajax({
    url: "hello.php",
    dataType: 'json'

}).done(function (json_response) {

    var names = [];
    for (i in json_response.employees) {
        names.push(json_response.employees[i].firstName);
    }
    output = names.join("<br/>");
    $('#output_fake_json').html(output);

    $.mockjaxClear();
});

更多细节可以在插件页面找到:http://www.vikaskbh.com/jquery-fake-ajax-requests-for-ajax-testing-using-mockjax-plugin/

【讨论】:

  • 谢谢,我已经看过并修改了我的原始帖子,我不明白我可以从哪里调用实际的 php 页面来运行 json_encode 的回声?
  • 在我的最后一个答案中添加了代码和教程。这将对您有所帮助。
  • @539 您正在使用 ajax 中的 url 调用 php(例如 hello.php)!做一些阅读以正确理解概念:)
  • 感谢您的帮助,我首先尝试了 url 中的 php,它在控制台日志中显示错误,然后经过大量阅读将其更改为 /groups,因为这就是 X-Editable网站已经展示了它。改回来后,由于某种原因它起作用了。
猜你喜欢
  • 2018-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-15
  • 1970-01-01
  • 1970-01-01
  • 2017-01-24
  • 1970-01-01
相关资源
最近更新 更多