在我的PHP / jQuery应用程序中,我有一个javascript文件,我可以在其中调用外部PHP文件(post_data.php):
$.ajax({
type: "POST",
data: "some data",
url: "post_data.php",
现在,我不想调用php文件,而是调用CodeIgniter控制器函数Data/post_data
,那么如何调用该函数而不是post_data.php
?
我想要调用的javascript文件位于:
root/js/test.js
虽然功能位于此处:
root/application/controllers/data/post_data
答案 0 :(得分:3)
ajax需要一个完整的网址:
$.ajax({
type: "POST",
data: "some data",
url: "http://www.yourdomain.com/urpath/post_data"});
原因是调用Ajax的Javascript文件不知道.php文件的服务器位置。因此,通过使用绝对路径,您可以确保完成呼叫。此外,要在使用Javascript文件之前对其进行测试,请将该网址复制并粘贴到您的浏览器中。如果没有显示404错误,那么你的路径就好了。
答案 1 :(得分:0)
要添加Doaks响应,您也可以这样做
$.ajax({
url: "<?php echo site_url('data/post_data'); ?>",
type: "POST",
data: data,
答案 2 :(得分:0)
你可以使用$ .post()JQuery函数,它更简单,并针对POST请求进行了优化。对于路由,您可以只设置控制器和方法。它是应该的。
$.post("admin/newphone", {
phone: $('input[name="phone"]').val()
},
链接到JQuery文档http://docs.jquery.com/Post