2012-12-18 3 views
0

У меня возникла проблема с запросом ajax. всякий раз, когда я запускаю следующее, я получаю x (как то, что генерируется из функции ошибки в запросе ниже), но я должен получать тиковое изображение, так как я подтвердил, что вызов действительно внес изменения в систему.jQuery Ajax Call не вызывает успех

Может ли кто-нибудь помочь мне выяснить, что я делаю неправильно?

Ajax вызовов:

$.ajax({ 
    url: "/URL", 
    type: "POST", 
    dataType: 'json', 
    data: { action: 'assoc_users', username: 'testuser', name: 'testname' }, 
    success: function(){ 
    $("#user_1_image").attr("src","http://domain.com/check.png"); 
    }, 
    error: function(){ 
    $("#user1_status").html("x"); 
    } 
}); 

Данные, которые будут выход:

{status: 'OK', payload: ''} 
+1

У вас возникла ошибка в консоли? –

+0

Я не использую консоль или что-то еще. В основном PHP-страница, возвращающая значение –

+0

Я думаю, что означает, что @ExplosionPills означает, что вы получаете ошибки javascript в Firefox? –

ответ

1

У вас есть ошибка Parse в вашей строке json, проверьте ваш json строка первая

Parse error on line 1: 
{ action: 'assoc_users 
-----^ 
Expecting 'STRING', '}' 

Я исправил вашу строку json и попробовал ее. Попробуйте это работает,

$(document).ready(function() { 
var actions = { "action": "assoc_users", "username": "testuser", "name": "testname" }; 
    $.ajax({ 
    url: "/URL", 
    type: "POST", 
    data: actions, 
    dataType: "json", 
    success: function(data){ 
     alert('action'+data.action+'username'+data.username+'name'+data.name); // this is to check whats coming from the server side 
     $("#user_1_image").attr("src","http://domain.com/check.png"); 
    }, 
    error: function(jqXHR, exception){ 
     if (jqXHR.status === 0) { 
       alert('Not connect.\n Verify Network.'); 
      } else if (jqXHR.status == 404) { 
       alert('Requested page not found. [404]'); 
      } else if (jqXHR.status == 500) { 
       alert('Internal Server Error [500].'); 
      } else if (exception === 'parsererror') { 
       alert('Requested JSON parse failed.'); 
      } else if (exception === 'timeout') { 
       alert('Time out error.'); 
      } else if (exception === 'abort') { 
       alert('Ajax request aborted.'); 
      } else { 
       alert('Uncaught Error.\n' + jqXHR.responseText); 
      } 
    } 
}); 
}); 

в PHP файле

<?php echo json_encode($_POST); ?> 
1

если вы получаете правильный JSON из указанного вами URL, то это будет работать, потому что в вашем коде вы не пропуская данные в функции успеха:

$.ajax({ 
    url: "/URL", 
    type: "POST", 
    dataType:'json', 
    data: { action: 'assoc_users', username: 'testuser', name: 'testname' }, 
    success: function(data){ 
     if(data){ 
     $("#user_1_image").attr("src","http://domain.com/check.png"); 
     } 
    }, 
    error: function(){ 
     $("#user1_status").html("x"); 
    } 
}); 
+0

Я получил ту же проблему, удалив dataType –

+0

попробуйте второй, если вы получаете json из этого URL-адреса, тогда вам нужно передать его функцию успеха и если есть данные, тогда дайте attr img. – Jai

+0

попробуйте это обновление! – Jai

0

любезно использовать его, может быть кавычки создает проблему, поэтому попробовать его.

$.ajax({ 
url: '/URL', 
type: 'POST', 
dataType: 'json', 
data: { action: 'assoc_users', username: 'testuser', name: 'testname' }, 
success: function(){ 
$('#user_1_image').attr('src','http://domain.com/check.png'); 
}, 
error: function(){ 
$('#user1_status').html('x'); 
} 
}); 
Смежные вопросы