将PHP变量转换为纯文本以进行POST url扩展

将PHP变量转换为纯文本以进行POST url扩展,php,jquery,Php,Jquery,为了在jquery加载更多帖子脚本中使用,我在将php变量转换为纯文本时遇到问题。我想用变量ID运行显示评论。当我在url扩展中放置PHP变量时,它不起作用,但是当我以纯文本形式手动插入它时,它起作用,但这违背了使用变量的目的 $review_id = 155; $.ajax({ type: "POST", url: 'reviews/'+ '<? echo $review_id; ?>', var review_id=”“; $.ajax({ 类型:“POST”,

为了在jquery加载更多帖子脚本中使用,我在将php变量转换为纯文本时遇到问题。我想用变量ID运行显示评论。当我在url扩展中放置PHP变量时,它不起作用,但是当我以纯文本形式手动插入它时,它起作用,但这违背了使用变量的目的

$review_id = 155;
$.ajax({
    type: "POST",
    url: 'reviews/'+ '<? echo $review_id; ?>',
var review_id=”“;
$.ajax({
类型:“POST”,
url:'reviews/'+review_id,//
var review_id=“”;
$.ajax({
类型:“POST”,
url:'reviews/'+review_id,//
var review_id=“”;
$.ajax({
类型:“POST”,
url:“reviews=/”+“$review\u id.”,//
var review\u id=“”;
$.ajax({
类型:“POST”,

url:'reviews=/'+“$review_id.”,//仅就php字符串的工作方式而言:

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

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

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

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

 }
按如下方式调用函数:

FunctionA (<?php echo $review_id ?>);
functo();
试试这个:

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

 }
按如下方式调用函数:

FunctionA (<?php echo $review_id ?>);
functo();

为了100%确保对象的JS编码正确,您应该只使用
json_encode()
,它可以与任何PHP类型一起工作,在这种情况下,它不是必需的,因为它是一个数字,但是当它是一个字符串并且需要对特殊字符进行编码时,这是一种很好的做法,例如,如果您的字符串是
$reviewId=“\'Hello\'\n\'world\”;

//是否缺少php打开和关闭标记
//创建一个全局JS变量?
$.ajax({
类型:“POST”,
url:“评论/”+,
正如其他人所指出的,您可以在PHP中而不是在JS中进行字符串连接

$.ajax({
    type: "POST",
    url: 'reviews/<?php echo $review_id ?>',
$.ajax({
类型:“POST”,
url:“评论/”,
你也可以使用

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

要100%确保对象为JS正确编码,您应该只使用
json_encode()
,它可以与任何PHP类型一起工作,在这种情况下,它不是必需的,因为它是一个数字,但是当它是一个字符串并且需要对特殊字符进行编码时,这是一种很好的做法,例如,如果您的字符串是
$reviewId=”\“你好”\n“世界”;

//是否缺少php打开和关闭标记
//创建一个全局JS变量?
$.ajax({
类型:“POST”,
url:“评论/”+,
正如其他人所指出的,您可以在PHP中而不是在JS中进行字符串连接

$.ajax({
    type: "POST",
    url: 'reviews/<?php echo $review_id ?>',
$.ajax({
类型:“POST”,
url:“评论/”,
你也可以使用

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


您是否尝试过
数据:{rID:}
url
之后使用
json\u encode()
将变量数据回送到JavaScript中,以确保使用正确的数据类型并正确转义数据。
POST
数据没有进入URL,听起来好像您试图发出
GET
请求。您的示例缺少进入和退出php模式的php标记(
$review\u id=155;
周围缺少
)。这是您的问题吗?请参阅我回答中的第一个示例。您是否尝试回显
$review\u id
的值?它是否返回正确的值?如果您的变量在每次进行ajax调用时都发生更改,那么您将无法使其以这种方式工作。您是否尝试过
数据:{rID:}
url
之后,您真的应该使用
json\u encode()
将变量数据回送到JavaScript中,以确保使用正确的数据类型并正确转义数据。
POST
数据没有进入URL,听起来好像您试图发出
GET
请求。您的示例缺少进入和退出php模式的php标记(
$review\u id=155;
周围缺少
).这是你的问题吗?请看我回答中的第一个示例。你是否尝试过回显
$review\u id
的值?它是否返回正确的值?如果你每次调用ajax时变量都发生更改,那么你就无法使其以这种方式工作。不,这也不起作用。我不确定“不”是否也不起作用。我不确定如果它仍然没有产生任何东西。但是如果我手动插入变量来测试它,它会工作吗?变量显示在源代码中,因此我无法理解它是如何连接的。当您查看firebug中呈现给客户端的javascript时,您是否看到正确反映的url?是的,它显示的与它相同如果我手动输入变量并查看源代码,那将是非常令人困惑的。因此,问题似乎在于ajax调用没有发生。当您查看firebug中的net选项卡时,是否看到页面正在调用您的服务器?您提供了一个相对路径,因此评论路径需要与o的路径相对加载此ajax调用的原始页面。可能您至少需要/…查看,以便它与服务器根目录相关。它仍然没有生成任何内容。但是,如果我手动插入变量来测试它,它会工作吗?该变量显示在源代码中,因此我无法理解它如何没有连接。当您查看jav时在firebug中呈现给客户端的脚本,您是否看到url正确反映?是的,它的显示方式与手动输入变量并查看源代码时的显示方式相同。这完全令人困惑。因此,问题似乎在于ajax调用没有发生。当您查看firebug中的net选项卡时,您是否看到页面正在生成对服务器的调用?您提供了一个相对路径,因此审阅路径需要与加载此ajax调用的原始页面的路径相对。您可能至少需要/…审阅,以便它与服务器根目录相对。