热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在JavaScript中调用PHP函数

我在php中有一个函数。我想在javascript函数中调用它。该怎么做?我的php函数是&l

我在php中有一个函数。我想在Javascript函数中调用它。该怎么做?
我的php函数是

function image_save(){
$img = $_POST['image'];
$folderPath = "C:/xampp/htdocs/";
$image_parts = explode(";base64,",$img);
$image_type_aux = explode("image/",$image_parts[0]);
$image_type = $image_type_aux[1];
$image_base64 = base64_decode($image_parts[1]);
$fileName = '1'. '.jpeg';
$file = $folderPath . $fileName;
file_put_contents($file,$image_base64);
print_r($fileName);
$command = escapeshellcmd("python C:/xampp/htdocs/generate_graph.py");
$output = shell_exec($command);
}
?>


您可以从在浏览器上运行的js调用API,而不能直接调用PHP函数。

,

如果要从Javascript调用PHP函数,则需要向运行此函数的服务器发送XMLHttpRequest。您的客户端计算机上的浏览器中正在运行Javascript。 PHP正在服务器上的某个数据中心中的某个地方运行。因此,不可能直接从Javascript调用PHP函数。

XmlHttpRequest向服务器发送一个HTTP请求(POST | GET | ...),然后等待它的输出。在您的情况下,您将在服务器上调用php文件并等待其响应。

From Javascript.info

// 1. Create a new XMLHttpRequest object
let xhr = new XMLHttpRequest();
// 2. Configure it: GET-request for the URL
xhr.open('GET','/yourPhPfileLocationUrl/');
// 3. Send the request over the network
xhr.send();
// 4. This will be called after the response is received
xhr.Onload= function() {
if (xhr.status != 200) { // analyze HTTP status of the response
alert(`Error ${xhr.status}: ${xhr.statusText}`); // e.g. 404: Not Found
} else { // show the result
alert(`Done,got ${xhr.response.length} bytes`); // responseText is the server
}
};
xhr.Onprogress= function(event) {
if (event.lengthComputable) {
alert(`Received ${event.loaded} of ${event.total} bytes`);
} else {
alert(`Received ${event.loaded} bytes`); // no Content-Length
}
};
xhr.Onerror= function() {
alert("Request failed");
};

还有许多库可以简化XMLHttpRequest。

您也可以提交表格,这可能会更容易。






推荐阅读
author-avatar
xiao1027_333
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有