gpt4 book ai didi

javascript - 如何使用 AJAX 与服务器通信并在服务器上运行代码?

转载 作者:行者123 更新时间:2023-12-03 06:44:18 25 4
gpt4 key购买 nike

我一直在学习使用 AJAX 和 GET 请求,它允许我访问包含服务器上数据数组的 PHP 脚本。我希望能够发送一个请求,告诉服务器运行打开应用程序并操作该应用程序上的一些信息的代码。

这是我用来首先与服务器通信,然后向服务器发送请求,最后处理来自服务器的响应的代码。

var xmlHttp = createXmlHttpRequestObject();

function createXmlHttpRequestObject(){
var xmlHttp;

if(window.ActiveXObject)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
xmlHttp = false;
}
}
else
{
try
{
xmlHttp = new XMLHttpRequest();
}
catch(e)
{
xmlHttp = false;
}
}

if(!xmlHttp)
{
alert("cant create that object hoss");
}
else
{
return xmlHttp;
}
}

function process(){
if(xmlHttp.readyState == 0 || xmlHttp.readyState == 4) //State were object is free and ready to communicate with server
{
food = 'bacon';
xmlHttp.open("GET", "ExecuteMaya.php?food="+food,true); //Creates request that we are sending to server
xmlHttp.onreadystatechange = handleServerResponse;
xmlHttp.send(null);
}
else
{
setTimeout('process()', 1000);
}
}

function handleServerResponse(){
if(xmlHttp.readyState == 4)
{
if(xmlHttp.status == 200) //Means communication was successful
{
var xmlResponse = xmlHttp.responseText;
var xmldom = (new DOMParser()).parseFromString(xmlResponse, 'text/xml');
var text = xmldom.getElementsByTagName("response")[0];
var message = text.childNodes[0].nodeValue;
foodTextOutput = message;
setTimeout('process()', 1000);
}
else
{
alert('Something went wrong!');
}
}
}

这是我在学习如何使用 AJAX 时使用的 PHP。当我将上述代码中的“xmldom”变量打印到控制台并检查它时,出现以下错误 - “第 1 列第 2 行错误:文档末尾有额外内容”。这可能是与我原来的帖子不同的问题,但我想我应该指出发生了这个错误。这对“var message = text.childNodes[0].nodeValue;”行产生了链式 react 这产生了错误 - “未捕获类型错误:无法读取未定义的属性‘childNodes’”。

<?php
header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>':

echo '<response>';
$food = $_GET['food'];
$foodArray = array('tuna','bacon','beef','loaf','ham');
if(in_array($food, $foodArray))
echo 'We do have '.$food.'!';
elseif($food == '')
echo 'Enter a food you idiot';
else
echo 'Sorry punk we dont sell no '.$food.'!';
echo '</response>';
?>

我一直在学习 AJAX 的代码可能不相关,我只是想将其发布,以防我可以使用一些已经编写的代码。

总而言之,我希望能够将 bool 值或 AJAX 可行的任何内容发送到告诉它运行脚本的服务器。然后,该脚本将打开 Maya 应用程序并运行我编写的一些 Python 代码。

提前谢谢您!

最佳答案

一旦您调用 PHP 文件,就会开始在服务器上运行代码。如果您想从 PHP 运行外部应用程序,请查看 exec() 函数:

http://php.net/manual/en/function.exec.php

关于javascript - 如何使用 AJAX 与服务器通信并在服务器上运行代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37813602/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com