提交的表单返回错误响应的翻译:

问题描述:

的形式为:提交的表单返回错误响应的翻译:

<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> 

阿贾克斯处理程序:

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 = '[email protected]'; 
$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 Objec吨]。

我相信问题是,被提交的表单中的一些字段是对象,但我无法弄清楚如何解决这个问题。

任何帮助将不胜感激。

谢谢。

尝试:

error: function(xhr, status, error) { 
    var err = eval("(" + xhr.responseText + ")"); 
    alert(err.Message); 
} 
+0

为什么OP应该这样做?这似乎是错误的。是什么让你觉得'xhr.responseText'包含JavaScript? –

alert不是一个调试工具。它将它的参数转换为一个字符串。对象的字符串表示[object Object]

alert({value: 42}) // shows [object Object]

Use console.log instead.还要确保read the documentation of the API you are using。在error回调的签名是

Function(jqXHR jqXHR, String textStatus, String errorThrown)

所以,你要记录的第二个和第三个参数:

error: function(jqXHR, status, error) { 
    console.log('Status:', status); 
    console.log('Error:', error); 
} 

然后你就会知道是什么问题,可以开始修复它。

+0

它说:状态:错误 错误:内部服务器错误 我假设问题是与我的服务器本身呢? –

+0

@MartinMulholland:是的。 –