如何将一个字符串变量从PHP传递到Javascript

问题描述:

我想从PHP传递一个字符串变量到Javascript,它给我带来麻烦。如何将一个字符串变量从PHP传递到Javascript

我实际上通过一个数字变量按照下面的代码,它的工作原理,但一旦我在我的JavaScript代码中引入(或取消注释)行var cityname = <?=$city;?>;然后它不起作用。我相信它与数据类型有关,因为如果我在我的PHP中引入一个像Scity = 3这样的数字,那么它就可以工作。

谢谢

我有以下PHP:

<?php 
    $get_total_rows = 0; 
    $city = "London"; 

    $db = pg_connect("$db_host $db_name $db_username $db_password"); 
    $query = "SELECT * FROM table"; 
    $results = pg_query($query); 

    $get_total_rows = pg_numrows($results); 
?> 

,我有以下的javascript:

<script type="text/javascript"> 
$(document).ready(function() { 
var track_load = 0; //total loaded record group(s) 
//var cityname = <?=$city;?>; 
var total_rows = <?=$get_total_rows;?>; 

$('#results').load("autoload_process.php", {'rows':total_rows}, function() {track_load++;}); //load first group 
+2

在大多数编程语言,JavaScript的希望被引用字符串常量'变种城市名= '=$city;?>';' –

+1

@MarkBaker或者更好的是,'VAR城市名= ;'如果有必要,它会被转义。 – ceejayoz

+0

@MarkBaker谢谢,这工作 – Sam

在字符串的情况下,内容必须是引号之间(例如:val =“content”)。试着这样做:

var track_load = 0; //total loaded record group(s) 
var cityname = "<?php echo $city; ?>"; // string 
var total_rows = <?php echo $get_total_rows;?>; // number