1

我无法将 php 变量转换为纯文本,以便在 jquery 加载更多帖子脚本中使用。我想使用可变 ID 运行显示评论。当我将 PHP 变量放在 url 扩展名中时,它不起作用,但是当我以纯文本手动插入它时,它可以工作,但这违背了拥有变量的目的。

$review_id = 155;
$.ajax({
    type: "POST",
    url: 'reviews/'+ '<? echo $review_id; ?>',

我也试过:

var review_id = "<? echo $_explode_url[2]; ?>";
$.ajax({
    type: "POST",
    url: 'reviews/'+ 'review_id',

这有效:

$.ajax({
    type: "POST",
    url: 'reviews/'+ '155',
4

5 回答 5

1

就 php 字符串的工作方式而言:

url: <?php echo "'reviews/$review_id'"; ?>,

还要澄清一下,php 运行服务器端。如果您希望在返回页面时以外的任何方式设置此变量(并且此时必须知道 $review_id),那么这没有机会工作。您需要在 javascript/jquery 代码中执行此操作。

于 2013-08-15T03:53:52.440 回答
0

尝试这个:

function FunctionA (review_id){
        $.ajax({
        type: "POST",
        url: 'reviews/' + review_id ,

 }

像这样调用函数:

FunctionA (<?php echo $review_id ?>);
于 2013-08-15T04:40:24.467 回答
0

要 100% 确保您的对象将针对 JS 正确编码,您应该只使用json_encode(),它适用于任何 PHP 类型,在这种情况下,它不是必需的,因为它是一个数字,但当它是一个字符串和特殊时,这是一个很好的做法字符需要编码,例如,如果您的字符串是$reviewId = "\'Hello\'\n\"world\"";

// Are you just missing the php open and close tags 
// and creating a global JS variable?
<?php $review_id = 155; ?>
$.ajax({
    type: "POST",
    url: 'reviews/'+ <?php echo json_encode($review_id) ?>,

正如其他人所指出的,您可以在 PHP 中而不是在 JS 中进行字符串连接

$.ajax({
    type: "POST",
    url: 'reviews/<?php echo $review_id ?>',

你也可以使用

$.ajax({
    type: "POST",
    url: '<?php echo "reviews/$review_id" ?>',
于 2013-08-15T04:45:45.163 回答
0
    var review_id = "<? echo $_explode_url[2]; ?>";
    $.ajax({
    type: "POST",
    url: 'reviews/'+review_id, // <----

这行得通吗?

于 2013-08-15T02:37:31.453 回答
0
var review_id = "<? echo $_explode_url[2]; ?>";
$.ajax({
  type: "POST",
  url: 'reviews=/'+".$review_id.", // <----
于 2013-08-15T03:00:20.203 回答