ajax调用php方法的url问题

现在我想用jquery中的ajax type为post的请求,情况是这样的,我在没有使用后端框架的情况下想用ajax请求php中方法 那么这个ajax中的url该如何写???PHP方法应该在类中还应该是function .. 这种写法 ,求救 !!!

比如:在一个文件夹下有一个html文件test.html 有一个PHP文件test.php PHP文件里有一个方法index ajax请求的url该怎么写?

阅读 5.7k
2 个回答

没有直接调起PHP文件中特定方法的URL写法.

你PHP文件要自己根据参数来调用对应的函数

<?php
function index(){
  /** something to do **/
}

$fn = isset($_GET['fn']) ? $_GET['fn'] : 'main';
if (function_exists($fn)) {
  // 这里不建议直接调用参数指定的函数
  call_user_func($fn);
}
?>

URL可以这样写: http://you-host.com/path/to/file.php?fn=index

注意
一般我处理对于这种外部传入参数调用函数的时候, 函数命名时都会固定起一个前缀, 例如: index() => ajax_index()
那拿到 $fn 参数值为 index 时, 我回固定在 $fn 前面加入固定的 ajax_ 前缀, 这样就可以避免外部恶意修改参数让你的代码运行了一些不应该运行的 PHP 内部函数

Apache/Nginx伪静态+传参的方式,获取参数名require相关文件,调用想调用的函数。
例子:

rewrite ^(.*)/equip(d+).html$ $1/index.php?m=content&c=index&a=lists&catid=$2 last; 


$className=ucfirst(isset($_GET["m"])?$_GET["m"]:"index");

if ($_GET['m'] == 'xxxxx') {
    require 'xxxx.php';
}

//然后调用相关的函数啥的就行了
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题