У меня возникли проблемы с работой success: function(){}
- я использую код ajax:
jQuery.ajax({
url: 'http://127.0.1/process_form.php'+data,
data: data,
dataType: "jsonp",
jsonp : "callback",
jsonpCallback: "jsonpcallback"
});
data
- простая строка, которая передается jsonp, как когда будет завершенокросс-домены данных.Я знаю о безопасности с GET и что Curl будет лучше, но это простая «предопределенная» строка без ввода данных пользователем.Данные - это просто текст одной из 4 ссылок.то есть «да», «нет», «не знаю», «придумал это». На самом деле форма тоже не нужна.
Я получаю все «данные» в БД, но я могу »Это произойдет, это «следующий» бит, основанный на успехе.Если я делаю простой success: function(){}
, то ничего не происходит (с этой функцией) независимо от того, «что», например, предупреждение и т. Д.
Что должно произойти (и что-то вроде этого), если данные отправлены в БД,Затем оператор jQuery.getJSON
запрашивает БД и выводит ВСЕ данные, т.е. все введенные строки, а не только последние.
Когда я говорю «что-то вроде работы», jQuery.getJSON возвращает данные, но иногда «пропускает» их выполнение до следующей отправки данных.Мне кажется, что все связано с синхронизацией, потому что, если я оберну функцию «print» внутри setInterval()
, все будет работать нормально.Просто мне не нужен setInterval
для совместной работы.
Например:
jQuery('.addinput').live('click',function(){
var fldID = new Date().getTime();
var fldType = jQuery(this).html().toLowerCase();
var data ='';
data += '?fldID='+fldID;
data += '&fldType='+fldType;
data += iptime;
jQuery.ajax({
url: 'http://127.0.1/process_form.php'+data,
data: data,
dataType: "jsonp",
jsonp : "callback",
jsonpCallback: "jsonpcallback"
});
jQuery('.loader').fadeIn('slow');
setInterval(function() { fn_form(iptime); }, 3000 );
jQuery('.loader').fadeOut('slow');
return true;
});
Это работает нормально, но я действительно не хочу, чтобы функция fn_form(iptime)
былапостоянно обновляется.
Я бы предпочел увидеть что-то вроде этого:
jQuery('.addinput').live('click',function(){
var fldID = new Date().getTime();
var fldType = jQuery(this).html().toLowerCase();
var data ='';
data += '?fldID='+fldID;
data += '&fldType='+fldType;
data += iptime;
jQuery.ajax({
url: 'http://127.0.1/process_form.php'+data,
data: data,
dataType: "jsonp",
jsonp : "callback",
jsonpCallback: "jsonpcallback",
success: function(){
// run fn_form(iptime)
}
});