-1

好的,我这里有问题。我正在尝试获取一个 JS 变量以在 sql 查询中使用。现在我知道这是不可能的,所以我使用 jquery 传递变量并使用 get 方法将其分配给 php 中的变量。但是 php 总是在 JS 之前加载,因此 sql 查询不会更新。这里有代码:

var monthS = calenderMonths[monthNow];
$.get('load2.php', {location:monthS} );

这是在我的 JS 文件中的一个函数中,该函数正在 HTML 中加载

这是我的 php:

$monthS = $_GET['location'];

echo "alert($monthS);";
// Connect to MySQL
if ( !( $database = mysql_connect( "localhost",
  "root", "" ) ) )                      
  die( "Could not connect to database </body></html>" );

// open Events database
if ( !mysql_select_db( "Events", $database ) )
die( "Could not open Events database </body></html>" );

$result = mysql_query("SELECT * FROM posted_events WHERE Month_ = '$monthS' ") 
  or die ('Error updating database because: '.mysql_error());

我提醒 $monthS 看它是否通过,但警报起初是空的,但在单击“确定”3 秒后,另一个警报框会出现变量。所以我相信 PHP 是在变量通过之前加载的。无论如何我可以解决这个问题吗?谢谢

4

1 回答 1

2

您应该等待 .get() 完成,然后再继续执行脚本的其余部分(如果它像您的那样依赖于响应)。

$.get('load2.php', {location:monthS} )
   .done(function(data) {
   alert(data);
   //rest of your code 
 });
于 2013-07-30T20:25:58.590 回答