0

我有一个回显 JavaScript 的 php 脚本,在 JavaScript 中有 PHP 变量

echo '<script type="text/javascript"> 
     FB.init({
    appId: "myid",
    channelUrl: "//mysite/channel.html",
    status: true, // check login status
    cookie: true, // enable cookies to allow the server to access the session
    xfbml: true // parse XFBML
});
FB.getLoginStatus(function (response) {
    if (response.status === "connected") {
        FB.api("me/bookvote:download", "post", {
            book: "<?php echo "http://mysite/auction_details.php?name=$item_details["name"]&auction_id=$item_details["auction_id"]";?>",
            fb:explicitly_shared = "true" //? Is syntactically valid but creates a global
        }, //Missing a , here?

但是,我仍然得到:

Uncaught SyntaxError: Unexpected identifier for book: http://mysite.xom/auction_details.php?name=$item_details["name"]&auction_id=$item_details["auction_id"]";?>",

我该怎么办?

4

4 回答 4

3

我可以发现多个问题:

  • 您尝试在单引号内打印变量。它们不会被解析,你需要双引号,或者更好的是,HEREDOC,或者更好的是,不要使用 echo 来打印 HTML/JavaScript。
  • 您尝试<?php ?>在回声中使用其他标签。那显然行不通。

试试这个。我已经消除了回声。请注意,较大的 PHP 标记到此结束。

?>
<script type="text/javascript"> 
     FB.init({
    appId: "myid",
    channelUrl: "//mysite/channel.html",
    status: true, // check login status
    cookie: true, // enable cookies to allow the server to access the session
    xfbml: true // parse XFBML
});
FB.getLoginStatus(function (response) {
    if (response.status === "connected") {
        FB.api("me/bookvote:download", "post", {
            book: "<?php echo "http://mysite/auction_details.php?name=$item_details["name"]&auction_id=$item_details["auction_id"]";?>",
            fb:explicitly_shared = "true" //? Is syntactically valid but creates a global
        }, //Missing a , here?
于 2013-03-21T23:04:09.900 回答
0

更改此行:

book: "http://mysite/auction_details.php?name=' . $item_details["name"] . '&auction_id=' . $item_details["auction_id"] . '",
于 2013-03-21T23:03:56.687 回答
0

这些变量从未转换为应该使用的实际值。尝试通过连接将该字符串分成多个部分。

于 2013-03-21T23:04:10.880 回答
0

你会想要结束你的回声报价,所以它是这样的:

echo '<script type="text/javascript"> 
....
            book: "http://mysite/auction_details.php?name=' . $item_details["name"] . '&auction_id=' . $item_details["auction_id"] . '",
....
于 2013-03-21T23:04:35.200 回答