我创建了一个 ajax 联系表单,它的 responseText 有问题。 当我单击"提交"按钮发送数据时。 相反,为了显示响应文本,它像这样显示。
<!DOCTYPE html> <html lang="en-US" class="no-js"> <head> <meta charset="UTF-8">
<meta name="viewport" content="width=device-width"> <link rel="profile" href="http://gmpg.org/xfn/11"> <link rel="pingback" href="http://localhost/pomtech/jami/xmlrpc.php"> <!--[if lt IE 9]> <script src="http://localhost/pomtech/jami/wp-content/themes/twentyfifteen/js/html5.js"></script> <![endif]--> <script>(function(html){html.className = html.className.replace(/bno-jsb/,'js')})(document.documentElement);</script> <title>Page not found – jami university</title> <link rel='dns-prefetch' href='//fonts.googleapis.com' /> ...
阿贾克斯代码。这是我用来获取表单数据的一些jQuery代码。
jQuery(document).ready(function(){
var form =jQuery('#ajax-contact');
var formMessages= jQuery('#form_messages');
jQuery(form).submit(function(event){
event.preventDefault();
var formData=jQuery(form).serialize();
jQuery.ajax({
type: 'POST',
ulr: jQuery(form).attr('action'),
data: formData
}).done(function(response){
// make sure message is success
jQuery(formMessages).removeClass('error');
jQuery(formMessages).addClass('success');
//set message text
jQuery(formMessages).text(response);
// clear form fields
jQuery('#name').val('');
jQuery('#email').val('');
jQuery('#message').val('');
}).fail(function(data){
// make sure message is error
jQuery(formMessages).removeClass('success');
jQuery(formMessages).addClass('error');
// set message text
if(data.responseText !== ''){
jQuery(formMessages).text(data.responseText);
}
else{
jQuery(formMessages).text('an error has been occured');
}
}); }); });
网页代码
<div id="form_messages"> </div>
<form id="ajax-contact" method="post" action="mailer.php">
<div class="field">
<label for="name">Name:</label>
<input type="text" name="name" id="name" required="required">
</div>
<div class="field">
<label for="email">Email:</label>
<input type="email" name="email" id="email" required="required">
</div>
<div class="field">
<label for="message">Message:</label>
<textarea id="message" name="message" required="required">
</textarea>
</div>
<br>
<input type="hidden" name="recipient" value="'.$recipient.'">
<input type="hidden" name="subject" value="'.$subject.'">
<div class="field">
<input type="submit" name="contact_submit" value="Send" >
</div>
</form>
梅勒.php
<?php echo "Hello world"; ?>
不需要更多细节,但 StackOverflow 并没有让我发布我的问题,信息更少。 所以这些上下文属于我的问题
在 AJAX 调用中将 'ulr' 更改为 'url'。
jQuery.ajax({
type: 'POST',
url: jQuery(form).attr('action'),
data: formData
})