使用AJAX / JQuery从Codeigniter控制器方法获得响应

时间:2015-09-22 20:42:30

标签: php jquery ajax codeigniter model-view-controller

这是我想要实现的,我在控制器中有一个生成随机密码并返回相同的功能,在按钮单击时我想捕获生成的密码并将其显示在视图中(密码字段)。这是jquery / ajax调用:

public function generate_password($length = 9)
{
    return $password_str;
}

控制器功能:

RouteBase
  1. 这是调用控制器方法的正确方法吗?

  2. 为什么我在警报时会得到空白值,即使在php中打印时我得到了正确的值?

  3. 在管理区域可以说这是原因,不是这么认为的,但是因为代币有任何干扰吗?

3 个答案:

答案 0 :(得分:1)

在大多数情况下,它可以正常工作,但是你可以使用json格式(只需json_encode / json_decode就可以完成这项工作),而不是通过GET方法和其他一些修改发送。 你确定网址是否正确,如果你在浏览器中打开它会发生什么?

答案 1 :(得分:0)

您必须echo功能中的变量代替return。因为return会将值返回给调用者,而echo会向浏览器发送内容。 JavaScript只会理解发送到浏览器的数据。因此,编辑您的功能代码如下:

public function generate_password($length = 9)
{
    echo $password_str;
}

另一方面,你应该通过HTTPS而不是@rodamn提到的HTTP来做这件事

答案 2 :(得分:0)

很奇怪,但改变了网址:

url:“http://127.0.0.1/public/admin/content/manufacturers/generate_password”,

到此:

url:“generate_password”,

做了诀窍,现在一切正常:)

感谢大家的宝贵意见。