我目前正在测试一些代码,基本上是尝试将 HTML 表单重定向到 AJAX 调用 (POST),该调用显示在我的服务器上运行的脚本的响应。
HTML
<form id='form' name='qform' method='post' action='./resources/comment-redirect.php'>
<input type='search' name='name' class='comment-instance' autofocus='autofocus' value='name' />
<input type='search' name='email' class='comment-instance' autofocus='autofocus' value='email (not published)' />
<TEXTAREA name='comment-box' class='comment-instance' COLS=60 ROWS=5 value='email' />
<button type='submit' id='comment-submit' value='Submit'>--SUBMIT--</button>
</form>
JAVASCRIPT
$('#comment-submit').click(function(e){
e.preventDefault();
console.log("User clicked");
jQuery.ajax({
type:'POST',
url: './resources/comment-redirect.php',
data: {'name':$('[name=name]').val().toString(), 'email':$('[name=email]').val().toString(), 'comment':$('[name=comment-box]').val().toString() },
dataType: 'json',
success: function(result){
console.log(result);
}
}); //end of JQuery.Ajax()
//PHP
if( !empty($_GET['a'] ) )
{
print("This request has been routed to GET\n");
}
else if( !empty($_POST) )
{
print("This request has been routed to POST\n");
print($_POST);
}
else
{
print("Other");
}
所以目前,在控制台窗口中我得到“用户点击”,这意味着回调确实有效 - 但是没有 AJAX 响应。我使用了浏览器并手动测试了我的 PHP 脚本并且也通过了(GET 和 POST)。所以由于某种原因,这个 Ajax 调用似乎没有被触发。
任何帮助将不胜感激堆栈。