【问题标题】:Using get in jQuery to load an html form with PHP variables在 jQuery 中使用 get 加载带有 PHP 变量的 html 表单
【发布时间】:2010-09-18 21:21:41
【问题描述】:

我有一个index.php,其中包括config.php。现在我在单击按钮加载表单时使用$.get()

$.get('form.php', function (form) {
    $(form).insertAfter();
});

此表单需要config.php 用于某些输入值;但是,当表单加载后,我收到 php 错误:

Notice: Undefined variable: config in form.php on line 27

form.php 的第 27 行:if ($config['spam_protect']) {

我意识到 config.php 在页面最初加载时已经被实例化,因此我怀疑这是我遇到的问题。我尝试在form.php 文件中包含config.php 无济于事。提示或技巧任何人?

谢谢!

【问题讨论】:

    标签: php jquery forms get undefined


    【解决方案1】:

    注意:未定义变量:第 27 行 form.php 中的配置

    消息很清楚:$config 未加载,可能是因为您的配置文件未正确加载。

    请注意,如果您发出 Ajax 请求,则该请求中请求的脚本是一个全新的 PHP 实例。您可能还需要在其中包含config.php

    【讨论】:

    • 您能否在我对 vassilis 评论的回复中达到顶峰,与您给出的答案相同。谢谢。
    【解决方案2】:

    form.php 不包含config.php,或者config.php 不声明$config

    【讨论】:

      【解决方案3】:

      如果需要,您应该config.php 包含在form.php 中。

      通过ajax调用它与index.php无关,它是独立运行的。

      话虽如此,我们需要更多关于这个的信息。

      【讨论】:

      • 可以理解。我现在成功地做到了,但是它(form.php)需要一个已经在index.php 中声明和需要的类,所以又一个错误。
      • @Ryan 那么您需要更改脚本的结构。正如@vassilis 所说,您提出的 AJAX 请求是完全独立的。您需要将您的课程移动到一个中心位置并从那里包含它们
      • @Pekka 是对的,但您可以通过使用 if class_exists('your_class') 来解决这个问题,以避免第二次包含它。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-01
      相关资源
      最近更新 更多