2013-07-08 100 views
1

我的PHP代碼:從PHP讀取使用Javascript

<?php 
    class Sample{ 
    public $name = "N3mo"; 
    public $answer = ""; 
} 
if( isset($_GET['request']) ){ 
    echo "Starting to read "; 
    $req = $_GET[ 'request' ]; 
    $result = json_decode($req); 
    if($result->request == "Sample"){ 
     $ans = new Sample(); 
     $ans->answer = " It Is Working !!! "; 
     echo json_encode($ans); 
    }else{ 
     echo "Not Supported"; 
    } 
} 
?> 

有什麼不對

我想一個JSON發送到這個PHP和閱讀JSON,它返回使用Java腳本,我無法弄清楚如何在這裏使用JavaScript,因爲PHP創建一個html文件我怎樣才能使用$ _getJson和這樣的功能來實現這一點?

我嘗試使用

$.getJSON('server.php',request={'request': 'Sample'})) 

但是PHP無法讀取該輸入或者它是錯不知何故

謝謝

+0

是的,你需要一個Ajax調用。只需使用像jQuery這樣的庫來完成繁重的工作,或者僅僅使用谷歌作爲ajax調用的例子。 – kalpaitch

+0

你卡在哪裏?你沒有得到結果在JS?你使用AJAX? –

+0

顯示您的curernt JavaScript,它將這些數據發送到上面的PHP腳本。 – RiggsFolly

回答

1

試一試。它使用jQuery加載從服務器輸出的內容URL

<!DOCTYPE html> 
<html> 
<head> 
<title>AJAX Load Test</title> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script> 
    <script> 
     $(document).ready(function() { 
      $("#button").click(function(event) { 
       $('#responce').load('php_code.php?request={"request":"Sample"}'); 
      }); 
     }); 
    </script> 
</head> 
<body> 
    <p>Click on the button to load results from php_code.php:</p> 
    <div id="responce" style="background-color:yellow;padding:5px 15px"> 
      Waiting... 
    </div> 
    <input type="button" id="button" value="Load Data" /> 
</body> 
</html> 

以下代碼是您的代碼的修訂版本。存儲在一個名爲php_code.php的文件中,存儲在與上述相同的目錄中並進行測試。

<?php 

class Sample 
{ 
    public $name = "N3mo"; 
    public $answer = ""; 
} 

if( isset($_GET['request']) ) 
{ 
    echo "Starting to read "; 
    $req = $_GET['request']; 
    $result = json_decode($req); 

    if(isset($result->request) && $result->request == "Sample") 
    { 
     $ans = new Sample(); 
     $ans->answer = " It Is Working !!! "; 
     echo json_encode($ans); 
    } 
    else 
    { 
     echo "Not Supported"; 
    } 
} 

讓我知道你上車

-1

你是在正確的道路上; PHP輸出一個結果,並使用AJAX來獲得結果。當您在瀏覽器中查看它時,由於瀏覽器對JSON數據的解釋,它自然會向您顯示HTML結果。

爲了獲得這些數據轉換爲JavaScript,使用jQuery.get()

$.get('output.html', function(data) { 
    var importedData = data; 
    console.log('Shiny daya: ' + importedData); 
}); 
0

因爲這將是非常簡單的:

$.getJSON('/path/to/php/server.php', 
    {request: JSON.stringify({request: 'Sample'})}).done(function (data) { 
    console.log(data); 
}); 

您可以包括這<script>標籤或在包含的JavaScript文件隨時隨地使用。