我被困在这个问题上。我一直在尝试使用http()
但似乎什么也没做。
这是表格(当我提交时它调用ajax_request
,这工作正常):
<form name='form-main'>
<input id='host' type='text' placeholder='Host' />
<input id='user' type='text' placeholder='Username' />
<input id='db' type='text' placeholder='Database' />
<input id='pass' type='password' placeholder='Password' />
</form>
这是ajax_request
部分:
function ajax_request() {
var host = document.getElementById('host').value;
var user = document.getElementyById('user').value;
var db = document.getElementById('db').value;
var pass = document.getElementById('pass').value;
var submitTo = 'DB.php';
//alert(submitTo);
http('POST', submitTo, ajax_response, 'Host='+host);
}
这是ajax_response
:
function ajax_response(data) {
document.getElementById('web').value = data;
}
最后,这是我尝试调用的 PHP DB.php
:
<?php
$Host = $_POST['Host'];
$User = $_POST['User'];
$DB = $_POST['DB'];
$Pass = $_POST['Pass'];
$iDB = new mysqli($Host, $User, $DB, $Pass);
if($iDB->connect_errno) echo "no";
else echo "yes";
?>
我在这里要实现的是从 PHP 获得响应"是"或"否",并将其输出到ajax_response
你会清楚准确地描述你遇到的问题吗?
一目了然,我看到你正在执行一个HTTP POST,但你的PHP正在寻找HTTP GET数据。更改 Javascript 以执行 HTTP GET 或更改 PHP 以查看$_POST
而不是$_GET
可能有助于或防止其他问题。
PHP 有以下变量:$_GET
、$_POST
和 $_REQUEST
。 $_GET
包含 HTTP GET 数据。 $_POST
包含 HTTP POST 数据。 $_REQUEST
包含 HTTP GET 和 POST 数据。