две функции ajax одновременно? не работает
У меня есть простой AJAX скрипт, который предполагает, чтобы вызвать PHP-файл и получить данные обратно.
window.addEvent('domready', function() {
$('dbform').addEvent('submit', function(e) {
new Event(e).stop();
var intervalId =setInterval(function()
{
var Ajax2 = new Request({
url: '/tools/getdata.php',
method: 'post',
data: 'read=true',
onComplete: function(response)
{
$('results').set('html', response);
}
}).send();
},1000);
var postString = 'subbutton=' + $('subbutton').value;
var Ajax = new Request({
url: '/tools/getdata.php',
method: 'post',
data: postString,
onRequest: function()
{
$('message').set('text', 'loading...');
},
onComplete: function(response)
{
$('message').set('text','completed');
clearInterval(intervalId);
},
onFailure: function()
{
$('message').set('text', 'ajax failed');
}
}).send();
});
});
Файл, который он представляет, также есть.
$object= new compare();
if(isset($_POST['subbutton'])=='Run')
{
// This take about 5 minutes to complete
$run=$object->do_compare();
}
if(isset($_POST['read'])=='true')
{
/// in the mean time, the first ajax function is suppose to return data from here..while
// the do_compare() function finish.
// the problem is that it only return it once the do_compare() finish
///
echo 'read==true';
}
скрипт работает отлично, ожидать, что, когда запрос Ajax проверить файл каждую секунду, он не возвращает вещь от $_POST['read']
, до $run=$object->do_compare();
закончил.
Почему это так? что то, что я пытаюсь сделать, состоит в том, что одна функция Ajax получает данные из функции do_compare, а другая функция ajax также независимо получает это из файла getdata.php.
'isset()' возвращает '(bool) true' или' (bool) false 'try' if (isset ($ _ POST ['read']) && $ _POST ['read'] == 'true') ' – Christoph
@Christoph Я только что обновил изображение вывода, если вы хотите его увидеть. –
Этот javascript смущает меня. Это похоже на комбинацию raw JS, jQuery и Prototype. В какой библиотеке вы используете? – Izkata