[英]Submitted form via Ajax returns [object Object] in error response
表格:
<form class="col-md-4 col-sm-12 col-xs-12 pull-right banner-contact-form" onSubmit="return support_send();" id="contact_form" name="contact_form">
<div class="col-xs-12 text-center">
<h3>Application Form</h3>
</div>
<div class="form-group col-sm-4">
<select class="form-control input-md" id="title" name="title" required>
<option value="" selected hidden>Title</option>
<option value="1">Mr</option>
<option value="2">Mrs</option>
<option value="3">Miss</option>
<option value="4">Ms</option>
</select>
</div>
<div class="form-group col-sm-8">
<input type="text" class="form-control input-md" id="contact_name" placeholder="Your Full Name" name="contact_name" required>
</div>
<div class="form-group col-sm-12">
<input type="text" class="form-control input-md" id="post_code" placeholder="Postcode" name="post_code" required>
</div>
<div class="form-group col-sm-12">
<select class="form-control input-md" id="product" name="product" required>
<option value="" selected hidden>Main product interested in</option>
<option value="1">Washing Machines</option>
<option value="2">Washer Dryers</option>
<option value="3">Tumble Dryers</option>
<option value="4">Dishwashers</option>
</select>
</div>
<div class="form-group col-sm-12">
<input type="tel" class="form-control input-md" id="contact_telephone_number" placeholder="Contact Telephone Number" name="contact_telephone_number" required>
</div>
<div class="form-group col-sm-12">
<input type="email" class="form-control input-md" id="email" placeholder="Email Address" name="email">
</div>
<div class="col-xs-12">
<button type="submit" class="btn btn-default col-xs-12 btn btn-success"><span class="banner-contact-form-submit">Apply today</span><br><small>no obligation | fast response</small></button>
</div>
<div class="col-xs-12">
<p id="message_result" class="text-center"></p>
<p class="text-center"><span class="banner-contact-form-apr">68.9% APR</span> representative <br /> (64.9% APR existing customers)</p>
</div>
</form>
Ajax處理程序:
function support_send(){
$.ajax( {
type: "POST",
url: "includes/contact_handler.php",
data: $('#contact_form').serialize(),
dataType: 'text',
success: function( response ) {
alert("It worked");
},
error: function(response) {
alert(response);
}
});
event.preventDefault()
};
PHP處理程序:
<?php
$name = addslashes($_POST['title'];)
$name = addslashes($_POST['contact_name'];)
$email = addslashes($_POST['email'];)
$telephone = addslashes($_POST['contact_telephone_number'];)
$post_code = addslashes($_POST['post_code'];)
$product = addslashes($_POST['product'];)
$from = 'From: Contact Us Form';
$to = 'info@mmulholland.co.uk';
$subject = 'New Contact Enquiry';
$body = "From: $name\n E-Mail: $email\n product:\n $product";
if (!empty($_POST)) {
if (mail ($to, $subject, $body, $from)) {
echo '<p>Your message has been sent!</p>';
} else {
echo '<p>Something went wrong, go back and try again!</p>';
}
}
?>
我試圖通過ajax提交聯系表單,然后將其通過電子郵件發送給客戶端,我的問題是它不斷返回[object Object]的錯誤響應。
我認為問題在於提交的表單中的某些字段是對象,但我不知道如何解決此問題。
任何幫助將非常感激。
謝謝。
嘗試:
error: function(xhr, status, error) {
var err = eval("(" + xhr.responseText + ")");
alert(err.Message);
}
alert
是不是一個調試工具。 它將其參數轉換為字符串。 對象的字符串表示形式是[object Object]
:
alert({value: 42}) // shows [object Object]
請改用console.log
。 另外,請務必閱讀您正在使用的API的文檔 。 error
回調的簽名是
Function( jqXHR jqXHR, String textStatus, String errorThrown )
因此,您想記錄第二個和第三個參數:
error: function(jqXHR, status, error) {
console.log('Status:', status);
console.log('Error:', error);
}
然后,您將知道問題所在並可以開始解決。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.