Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将XMLHttpRequest发送到特定的php函数?_Javascript_Php_Ajax_Xml - Fatal编程技术网

Javascript 如何将XMLHttpRequest发送到特定的php函数?

Javascript 如何将XMLHttpRequest发送到特定的php函数?,javascript,php,ajax,xml,Javascript,Php,Ajax,Xml,我正在尝试使用ajax进行图像上传。我遇到了一点问题。func-ajax.php中有两个函数:函数doSth(){}和函数doSthElse(){}。我想以doSth()函数为目标 这是我的javascript方面: var xhr = new XMLHttpRequest(); xhr.open("POST", 'func-ajax.php', true); xhr.setRequestHeader("X_FILENAME", file.name); xhr

我正在尝试使用ajax进行图像上传。我遇到了一点问题。func-ajax.php中有两个函数:函数doSth(){}和函数doSthElse(){}。我想以doSth()函数为目标 这是我的javascript方面:

var xhr = new XMLHttpRequest();
xhr.open("POST", 'func-ajax.php', true);
xhr.setRequestHeader("X_FILENAME", file.name);                  
xhr.send(file);

如何指定发送请求的whick函数

您希望将GET/POST参数与请求一起发送,并在PHP脚本中捕获这些参数。

您不能向函数发送HTTP请求

您请求一个资源。该请求可以包含POST数据,也可以包含HTTP头

然后,服务器决定如何响应请求。它可能会选择运行一个PHP程序


由PHP程序查看请求的资源/POST数据/头并确定要运行的函数。

您可以在发送的数据中添加一个参数,并在手动调用函数的某种if块中检查该参数。您还可以引入一个类似Slim的框架来创建一个可以点击的restapi点。

您不能从
func ajax.php
文件运行特定函数

您应该做的是创建类似于
ajaxcontroller.php
,包含

    $functionName = $_POST["func"]; // func parameter should be sent in AJAX, determines which function to run

    if (function_exists($functionName)) { // check if function exists
         $functionName(); // run function
    }
并将来自JS的所有请求发送到此文件
xhr.open(“POST”,“ajax controller.php”,true)


希望您能理解。

我强烈建议您实现下面发布的任意数量的解决方案,这样我只需篡改您的javascript即可实现后端的不同功能。非常感谢。