Javascript 为什么我不能在AJAX响应中打印错误消息?

Javascript 为什么我不能在AJAX响应中打印错误消息?,javascript,php,jquery,ajax,response,Javascript,Php,Jquery,Ajax,Response,我有以下HTML代码: <a href="#" id="promotion_status_1"> <button type="button" class="btn btn-default brmodalbtn" data-toggle="modal" data-target="#BrandImageModal" id="1">On</button> </a> <div class="container"> <div

我有以下HTML代码:

<a href="#" id="promotion_status_1">
    <button type="button" class="btn btn-default brmodalbtn" data-toggle="modal" data-target="#BrandImageModal" id="1">On</button>
</a>

<div class="container">
  <div class="modal fade" id="BrandImgeModaal">
    <div class="modal-dialog">
      <div class="modal-content">
        <form id="form" enctype="multipart/form-data" role="form">
          <input type="text" class="form-control" name="brand_id" id="brand_id" value="{$data.id}">
          <input type="text" name="admin_url" id="admin_url" value="http://localhost/abc.com">    
          <input type="text" name="op" value="upload_brand_image">    
          <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
            <h4 class="modal-title">Brand Image</h4>
          </div>
          <div class="modal-body">
            <div id="messages"></div>
            <input type="file" name="file" id="file">
          </div>
          <div class="modal-footer">
            <button type="submit" class="btn btn-primary">Save</button>
            <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
          </div>
        </form>
      </div>
    </div>
  </div>
</div>
PHP代码:

$request = $_REQUEST ;
switch( $op ) {
    case "upload_brand_image":

      $ret = $objManufacturer->UploadBrandImage($request, $_FILES, $allowed_image_extension, $manuf_error_messages);

      if(!$ret) { 
        $error_msg = $objManufacturer->GetAllErrors();

        $response = array(
          "error" => 1,
          "error_message" => $error_msg
        );

        echo(json_encode($response));
      } else {        
        if(!empty($_FILES['file']['name'])) {
          upload_file_now( $_FILES['file'], $brand_image_path, $t, $brand_name, $ext);          
        }      
      }
      die;
      break;
  }
$error\u msg数组包含以下内容:

Array
(
    [domain_id] => Please select domain
    [brand_name] => Brand name can't be blank
    [brand_name_invalid] => Brand name is not valid, it should be alphabetic
    [email] => Brand email can't be blank
    [email_invalid] => Brand email is not valid
    [brand_image] => Brand image can't be blank
    [brand_image_format] => Please upload brand image in a proper format
    [brand_image_size] => Brand image size is greater than 5 MB
    [brand_image_dimesnions] => Only upload brand image having dimensions >= 940 X 370 px
    [details] => Brand details can't be blank
)
我无法在引导模式下打印此数组中包含的消息

我哪里做错了?有人能在这方面帮助我吗

谢谢

只需更改成功代码


请记住,json数据作为文本从服务器传递到broswer,为了合理地使用它,您需要使用$.parseJSON将其转换为适当的json对象

所以试试看

success: function(response) { 
  response = $.parseJSON(response);
  if(response.error == 1) {   

此外,现代浏览器都有一个与之关联的javascript调试器。习惯使用它。然后,您可以在success的第一行设置断点:方法并查看返回数据的内容,以及范围内的几乎所有内容。

您有alertresponse;回来返回将强制终止函数的其余部分。。。从中移除回油there@ArunPJohny:我添加了返回以进行调试。即使在删除return之后,它也不会打印错误消息。它是否发出正确的警报值?请查看此行$'messages'。addClass'alert alert danger'。textresponse;要将错误消息写入$'messages'.addClass'alert alert danger'.textresponse.error\u message;因为您返回了一个json对象。你要把它写进一篇文章里。Response仍然是对象,而不是对象内部的错误消息。而且应该在if块中,而不是在else块中
$('#form').submit(function(e) {
var form = $(this);
var formdata = false;
if(window.FormData) {
formdata = new FormData(form[0]);
}

var formAction = form.attr('action');
$.ajax({
type        : 'POST',
url         : 'manufacturers.php',
cache       : false,
data        : formdata ? formdata : form.serialize(),
//data      : formdata ? formdata : form.serialize() + '&' + $.param({'op':'upload_brand_image'}),
contentType : false,
processData : false,

success: function (response) {
          alert('successful : ' + response);
      },
      error: function(data, errorThrown)
      {
          alert('request failed :'+errorThrown);
      } 
dataType:"JSON"
});
e.preventDefault();
});
success: function(response) { 
  response = $.parseJSON(response);
  if(response.error == 1) {