2013-07-13 4 views
0

Я пытался выполнить ping-цель как 10 раз после того, как пользователь нажимает кнопку с небольшой задержкой.Использование функции PHP через javascript

Я мог бы сделать это с помощью цикла for, но проблема в том, что документ замерзнет, ​​когда он выполнит все в документе, и я хочу повторить его, когда каждый пинг будет выполнен.

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

Это то, что функция выглядит.

function ping($host, $port, $timeout) { 
    $tB = microtime(true); 
    $fP = fSockOpen($host, $port, $errno, $errstr, $timeout); 
    if (!$fP) { return "down"; } 
    $tA = microtime(true); 
    return round((($tA - $tB) * 1000), 0)." ms"; 
} 

И я использую это для вызова функции в PHP.

echo ping($website, 80, 10); 

Итак, я в основном добавил его в документ, где находится функция.

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

Как загрузить и использовать эту функцию без полного замораживания документа до тех пор, пока это не будет выполнено?

+0

Что именно ваш вопрос? – simshaun

+0

Актуальный вопрос: как загрузить и использовать эту функцию без полного замораживания документа до тех пор, пока это не будет выполнено? – user2578535

+0

Вы хотите сделать асинхронный запрос в JavaScript. По умолчанию jQuery.ajax по умолчанию асинхронный, поэтому вы не должны блокировать его, если используете его. – simshaun

ответ

0

checkout phpbuilder.com, это поможет вам начать работу, и они довольно нежны на noobs.

Вы не хотите называть этот код 10 раз по Ajax, это не будет полезно для того, что вы пытаетесь сделать, потому что это вызовет 10 различных запросов. Лучше называть его 10 раз в цикле. Кроме того, вы должны изменить свой пинг, чтобы отправить некоторую форму данных после его подключения, а затем время ответа. Ваш код выше будет время подключения, но это все.

Вы можете отправить фиктивный запрос, который приведет к ошибке 404, но это минимальный ответ, а не полная страница. Время от времени, когда вы отправляете запрос на время, необходимое для получения ответа, и это даст вам более реалистичную оценку ping.

Дайте более подробное описание вашей проблемы, как как он не работает, а кто-то сможет дать вам лучший ответ

+0

Это был безумно глупый комментарий. Я не просил учебный сайт, я попросил фрагмент кода или где-нибудь, где есть учебник, который имеет прямое отношение к этому. – user2578535

+0

Я буду только тупым, но не безумно тупым. Вы говорите, что вам нужно немного больше, чем код. Это не хороший сайт для 1 на 1 ходьбе, хотя это Q/A. И никакое нарушение не означало комментарий noob, мы все были вызваны noobs в какой-то момент. – JSON

+0

Хотя я не стал бы называть себя noob. Я просто не использовал JS слишком много. Я не просил помощи у PHP-помощника. Если вы хотите помочь, ссылку на учебник, который мне помогает, не связывайте случайный веб-сайт, который не помогает вообще. – user2578535

Смежные вопросы