【问题标题】:Calling Codeigniter Controller function inside the jquery在 jquery 中调用 Codeigniter Controller 函数
【发布时间】:2014-03-24 08:20:27
【问题描述】:

我想在 jquery 的 .ajax 函数中指定控制器路径。

type:'POST',
                    url:"<?php site_url('login/validate'); ?>",
                    //dataType: "json",
                    data:data1,

                    success: function (response){

                            //alert (response);

                            $("span.error").html('Congrats! You are successfully registered with our site').addClass('error');
                            //window.location="site";

                        },

目前我正在这样做,但路径被视为字符串。它进入成功功能我不知道为什么?但是当我提醒响应时,它会给出“不允许的关键字符”的错误

【问题讨论】:

  • 控制器内部的代码是什么,你要发送什么数据?
  • 您在示例中提供的代码,它放在哪里?在视图 (.php) 文件或 Javascript (.js) 文件中?
  • 代码放在 .js 文件中,我正在验证表单字段,并希望在验证后将数据发送到 php 控制器以插入数据库
  • @Mudi 你检查我的答案了吗?我想它会帮助你
  • 如果你想将 php 代码添加到 JS 文件中,你需要从一个 PHP 文件中提供 JS。添加控制器并更改其标头信息,然后在其视图中添加 JS 并包含控制器 URL 而不是 JS 文件。

标签: php jquery codeigniter


【解决方案1】:

这是由于url:"&lt;?php site_url('login/validate'); ?&gt;",只创建url:"",你需要echo的url。

  url:"<?php site_url('login/validate'); ?>",

改成

  url:"<?php echo site_url('login/validate'); ?>",

 url:"<?= site_url('login/validate'); ?>",

【讨论】:

  • 我已经尝试过这个并在 firefox 调试器上 chk 它仍然将该 url 作为字符串 :(
  • var url="= site_url('login/validate'); ?>";并尝试 url:url,
【解决方案2】:

换行

 url:"<?php site_url('login/validate'); ?>",

 url:"<?php echo site_url('login/validate'); ?>",

【讨论】:

    【解决方案3】:

    而不是做

    url:"<?php site_url('login/validate'); ?>",
    

    你需要做的

    url:"<?php echo site_url('login/validate'); ?>",
    

    因为要回显site_url的返回值

    注意:如果您尝试从 .js 文件调用 PHP 函数,上述方法将不起作用。您将需要从 .php 文件构建 JavaScript。或者,您可以在调用 JS 文件并以这种方式访问​​它之前,使用 site_url 的结果声明一个全局 JS 变量。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-13
      • 1970-01-01
      • 2011-10-02
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多