该脚本应该以HTML格式输入用户,并使用AJAX通过PHP将该输入写入文本文件。但是,当我运行此代码时,我收到两个警报,首先是“错误”,然后是“完成”(在AJAX中形成.fail和.always函数),这使我相信问题出在PHP发回的信息中。
<?php
$fileHandle = fopen('emailList.txt', 'a') OR die ("Can't open file\n");
$email=$_POST['email'];
var_dump($email);
$result = fwrite ($fileHandle, "$email; \n");
fclose($fileHandle);
echo (!$result)? "error" : $result;
die;
?>
其中'email'是表单文本输入的名称。
但是如果PHP是正确的,我也会把HTML和javascript放在这里:
<form>
<input type="text" name="email" value="" class="emailSubmitSidebar" placeholder=" Your Email">
<input type="submit" value="Add" class="submitButton" id="subscribeButton">
</form>
<script>
$(document).ready(function() {
var input = $('.emailSubmitSidebar').val();
var subscribeButton = $('#subscribeButton');
subscribeButton.click(function() {
$.ajax({
url: 'emailform.php',
type: 'POST',
dataType: 'text',
data: {email: $("input[name=email]").val()},
})
.done(function(data) {
alert("success!")
})
.fail(function() {
alert("error");
})
.always(function() {
alert("complete");
})
});
});
</script>