簡體   English   中英

Javascript / jquery .load傳遞變量

[英]Javascript/jquery .load passing variable

卡在試圖加載一個PHP腳本但傳遞get變量參數的jquery / javascript函數上。 順便說一句,這將設置為5秒鍾后自動發生。 此處新發布的帖子,但已經閱讀了很多帖子,而且似乎找不到確切的我在做錯的事情。

此功能有效:

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); 

執行此操作時:

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); 

最好這樣嘗試:

文件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>';
?>

在我的本地主機上測試,並將這兩個文件放在同一文件夾中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM