2016-07-28 54 views
-1

我有一個客戶端端jQuery代碼,它獲取客戶端的本地日期並將其發佈到服務器。當在服務器端收到這篇文章時,在我的PHP代碼中,我想對頁面進行一些更新(使用echo語句),並使用這些更改進行顯示。那麼,我該如何強制這些回聲語句來更新頁面。如何刷新一個PHP頁面,並顯示更改後收到來自jquery

我這樣做的原因是溝通信息從PHP到JavaScript。通過回聲,我期待將某些東西寫入HTML文檔,以便JavaScript可以從該更新的HTML文檔中提取信息。但是,由於這不太可能發揮作用,那麼如果從PHP中的if語句向Javascript發送信息的其他方式是什麼?

+0

你沒有,你就必須添加跨度與jQuery –

+0

退房 「Ajax」 的 – prgrm

+0

我要打那些來自服務器端的變化。我知道我可以在客戶端從ajax/jquery中完成。但出於某種原因,我想從服務器端更新頁面。這甚至有可能嗎? – pythonic

回答

1

你可以做到這一點通過動態創建一個表單並提交它:

$('body') 
    .append('<form id="myForm"></form>'); //append a new form element with id myFormto <body> 
$('#myForm') 
    .attr("action","#") .attr("method","post") //set the form attributes 
    .append('<input type="hidden" name="dateStr" id="dateStr" value="!!YOUR VALUE HERE!!">') //add in all the needed input element 
    .submit(); 
+0

使用jquery獲得什麼? – pythonic

+0

jQuery.get是ajax函數的簡寫,它不刷新頁面。 – evilpenguin

+0

我只需要一些來自服務器的信息。我可以通過一個單獨的php腳本將這些信息包裝在xml或json中,然後用javascript解析這個信息。沒有? – pythonic

1

你不能直接從服務器端做到這一點。原因是您必須重新加載頁面以顯示更改,但是一旦您重新加載頁面,數據將不會被保留,除非您保存對會話或cookie的更改。然後在每個頁面加載您檢查會話變量或cookie是否存在,如果是,則從會話或cookie加載數據,否則加載原始數據。

解決方案是使用Ajax。這裏有一個簡單的解釋例子。

PHP

if(isset($_POST["dateStr"]) && strlen(trim($_POST["dateStr"])) > 0) 
{ 
    echo "success"; 
} 

的Javascript

$(function(){ 
    $('#button').on('click', function(e){ 
    e.preventDefault(); 

    $.ajax({ 
     url: 'yourphpcontroller.php', 
     type: 'post', 
     data: {dateStr: 'mystring' }, // can be obtained with jQuery attr 
     success: function(data, status) { 
     if(data == "success") { // the response coming from php; if the response is success means we can proceed 
      $('#myhtmlelement').append('<span style="color:red"></span>'); // append to html tag   
     } 
     }, 
     error: function(xhr, desc, err) { 
     console.log(xhr); 
     console.log("Details: " + desc + "\nError:" + err); 
     } 
    }); // end ajax call 
    }); 
+0

如果你沒有在PHP中使用'dateStr'做任何事情,這是沒有意義的。你只是無緣無故地做了一個AJAX調用,沒有明顯的原因。 – evilpenguin

+0

嘿,這只是一個例子。你能指望什麼?除非沒有明確的要求,否則我無法提供一個完整的實例。 –

相關問題