2015-03-31 111 views
2

在查看大量關於如何讓PHP變量發送到JavaScript文件的示例時,我仍然沒有成功獲取它。使用AJAX無法將PHP變量轉換爲JavaScript文件

我的PHP文件是:

$title = $json["title"]; 

echo json_encode($title); 

我的JavaScript文件app.js是:

$.ajax({ 
      url : 'index.php', 
      type : 'GET', 
      data : film, 
      dataType : 'json', 
      success : function (data) { 
       alert(data.title); 
       console.log(data.title); 
      }, 
     }) 

我想知道正確的代碼來獲取PHP $ title變量的AJAX在app.js中調用。

感謝

回答

2

在這個例子中有兩個文件。一個有JQuery ajax方法。另一個文件是一個返回請求信息的PHP腳本。

show_title.html

<!-- JQuery library already loaded --> 
<script> 

$.ajax({ 
    url : 'get_title.php', // requesting a PHP script 
    dataType : 'json', 
    success : function (data) { // data contains the PHP script output 
     alert(data.title); 
     console.log(data.title); 
    }, 
}) 

</script> 

get_title.php

<?php 

$json["title"] = 'a title'; 
echo json_encode($json); 

?> 
+0

php代碼放在php文件中的位置是否重要?我現在有一個cURL會話,並且cURL會話在我回顯了json_encode()後立即關閉。我已經在會話之外嘗試了它,但它仍然沒有響應成功console.log – azmatrix 2015-03-31 01:39:42

+0

要縮小問題的位置,請嘗試發送這些簡單的示例,而不使用CURL。那麼你應該能夠判斷問題出在你的JavaScript或CURL會話中。我在發佈之前測試了這個例子,它工作得很好。如果您發現問題出現在您的CURL會話中,請發佈有關此問題的其他問題。 – bloodyKnuckles 2015-03-31 01:43:07

2

如果你想要在響應.title屬性,那麼你應該創建一個數組,然後編碼來代替。你有另一種方式。事情是這樣的:

PHP

<?php 

$title = 'Yahoo!'; 
$json['title'] = $title; 
echo json_encode($json); 
+0

它身在何處的PHP代碼放置在PHP文件?我現在有一個cURL會話,並且cURL會話在我回顯了json_encode()後立即關閉。我已經在會話之外嘗試過了,它仍然沒有響應成功console.log – azmatrix 2015-03-31 01:39:38

+0

是的,只要容器的數據已定義且不爲空。當然要確保它不是空的,你在最後做了編碼和回顯(很可能在PHP文件的最後一行) – Ghost 2015-03-31 01:48:09

相關問題