欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

javascript - 一个php的function ,怎么给ajax 和 php 自己调用?

程序员文章站 2024-01-31 15:05:28
...
就是如果请求是ajax 发来的,那么ajax 接收的是 echo 出来的数据;

要是是内部调用的,接收的是 return 的数据, 能不能写个 if 语句,判断是谁发来的,用 echo 或者 return ?

这个if 语句怎么写?

回复内容:

就是如果请求是ajax 发来的,那么ajax 接收的是 echo 出来的数据;

要是是内部调用的,接收的是 return 的数据, 能不能写个 if 语句,判断是谁发来的,用 echo 或者 return ?

这个if 语句怎么写?

Ajax 请求比传统请求的协议头(header)多了个“x-requested-with XMLHttpRequest
”,可以利用它,request.getHeader("x-requested-with"); 为 null,则为传统同步请求,为 XMLHttpRequest,则为 Ajax 异步请求。

但是以上并不完全准确,可以在请求的时候加上一个希望返回的数据类型格式

当你有这种需求的时候,你就应该考虑你的代码结构是不是出现了问题了。
可以是可以,但是不建议这么做。
可以判断$_GET或者$_POST

echo和return不写在同一个函数里。

tp里有个IS_AJAX,你可以看看它是怎么写的。

如果你有需要,在你的返回结果集里应该加一个字段注明是那种类型,但是在平时开发的时候对这个是没有需求的。不知你为何要区分echo和return?

一般不会用一个函数又echo又return的。
你可以这样做

function a(){
    return $result;
}
function 4AJAX(){
    echo a();
}

要内部调用就用a(),要AJAX的时候就用4AJAX().