2013-10-03 6 views
1

Застрял на jquery/javascript функции, которая пытается загрузить PHP-скрипт, но передавая параметры переменной. В качестве альтернативы это автоматически устанавливается через 5 секунд. Новое для публикации здесь, но прочитало много сообщений и, похоже, не может найти то, что я делаю неправильно.Javascript/jquery .load pass variable

Эта функция работает:

function LoadMyPhpScript() 
{ 
    $('#MyDiv').load('hello.php'); 
} 
setTimeout(LoadMyPhpScript,5000); 

Эта функция не работает:

function LoadMyPhpScript2(cPhpParamString) 
{ 
    var strURL = 'hello.php'; 
    strURL = strURL + cPhpParamString; 
    $('#MyDiv2').load(strURL); 
} 
setTimeout(LoadMyPhpScript2('?MyVar1=0&MyVar2=1'),5000); 

Вот hello.php

<?php 
echo '<p>Hello, I am loaded with get values of MyVar1=' . $_GET['MyVar1'] . ', MyVar2=' . $_GET['MyVar2'] . '</p>'; 
?> 

Примечание: это всего лишь макет, будет использовать регулярное выражение для проверки получения и т. Д. В процессе производства.

ПОСТАНОВИЛИ

Вот что я закончил с, спасибо!

function LoadMyPhpScript1(cPhpParamString) 
{ 
    $('#MyDiv1').load('hello.php'+cPhpParamString); 
} 
setTimeout(function() { LoadMyPhpScript1('?MyVar1=0&MyVar2=1'); },5000); 
+1

Почему вы используете camelCase в своем URL-адресе? Попробуйте сделать это только в нижнем регистре. – adeneo

ответ

5

Когда вы сделаете это:

LoadMyPhpScript2('?MyVar1=0&MyVar2=1') 

Вы выполняете функцию и передавая результат setTimeout

Попробуйте это:

setTimeout(function() { LoadMyPhpScript2('?MyVar1=0&MyVar2=1'); },5000); 

Однако отправка URL-адрес строки запроса это странный способ сделать это. Нечто подобное могло бы быть лучше:

function LoadMyPhpScript2(myVar1, myVar2) 
{ 
    var strURL = 'hello.php'; 
    $('#MyDiv2').load(strURL, { myVar1: myVar1, myVar2: myVar2 }); 
} 
setTimeout(function() { LoadMyPhpScript2(0, 1); },5000); 
+0

Благодарим за отзыв. Ни один из них, похоже, не дает желаемого результата наличия значений, переданных через GET в PHP. – TransitDataHead

+0

Что ты видишь? Текст в файле php минус значения? –

+0

Да, я хочу опубликовать весь обновленный код, но не могу найти подходящий способ сделать это. Возможно, я могу редактировать оригинал? – TransitDataHead

0

Лучше попробовать этот способ:

help3.html Файл:

<html> 
    <head> 
    <script type='text/javascript' src='http://code.jquery.com/jquery-1.8.3.js'></script> 
    <script type='text/javascript'> 
    function LoadMyPhpScript2(cPhpParamString) 
    { 
     var strURL = 'help3.php'; 
     strURL = strURL + cPhpParamString; 

     $.ajax({ 
     url: strURL 
     }).done(function(data) { // data what is sent back by the php page 
     $('#MyDiv').html(data); // display data 
     }); 


    } 
    setTimeout(LoadMyPhpScript2('?MyVar1=0&MyVar2=1'),5000); 

    </script> 
    </head> 

    <body> 

     <div id="MyDiv"> 

     </div> 

    </body> 
    </html> 

help3.php Файл:

<?php 
echo '<p>Hello, I am loaded with get values of MyVar1=' . $_GET['MyVar1'] . ', MyVar2=' . $_GET['MyVar2'] . '</p>'; 
?> 

Тест на мой localhost и оба файла в одной папке.