用户单击按钮时运行PHP脚本的最佳方法是什么?它不会向用户发送任何内容! (PHP脚本只发送PostgreSQL查询。)
我只找到了返回数据的方法。我只想跑它。
答案 0 :(得分:6)
您正在寻找AJAX(异步javascript)。只需要一个javascript函数调用目标脚本,并且不返回任何内容或者不对返回值执行任何操作。或者,您可以只使用提交到页面上隐藏的iframe的表单。
答案 1 :(得分:4)
这是我能想到的最好的。希望这是你想要的。
/* Function that we create to handle backwards compatiblity to browsers.
What it does is to try diffrent types of XMLHttpRequests. */
function getXMLHttp() {
var xmlHttp;
try {
//Firefox, Opera, Safari, Chrome, IE7+
xmlHttp = new XMLHttpRequest();
} catch (e) {
try {
//Internet Explorer 6
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
//Internet Explorer 5
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
return false;
}
}
}
return xmlHttp;
}
// Here, we send the request
function send() {
/* We say the variable xmlHttp is the function
where we try the diffrent XMLHttpRequests*/
var xmlHttp = getXMLHttp();
// We open your PHP file...
xmlHttp.open("POST", "yourphpfile.php", true);
// ...and send it to the server
xmlHttp.send();
}
有点简短 由于您没有收到任何回复给用户的信息,因此您使用POST而不是GET。它向服务器发送请求到文件。正如你在问题中所说,有些东西被发送到PostgreSQL服务器。但是,该PHP脚本在支持PHP的托管服务器上运行。
答案 2 :(得分:2)
执行此操作的最基本方法是使用html表单。
<form action="somePHPfile.php" method="post">
<input type="button" value="Run somePHPfile.php" />
</form>
你也可以做本D所建议的,但这不是最基本的做法。使用jquery:
$("#YOURbuttonID").click(function(){
$.post("yourPHPfile.php", function(){
alert("Success!");
});
});
答案 3 :(得分:0)
您将需要使用Ajax,然后您可以更新div等,以便用户知道查询是否正确执行。