首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向JQuery的Ajax数据中添加PHP变量

向JQuery的Ajax数据中添加PHP变量
EN

Stack Overflow用户
提问于 2014-10-22 01:22:50
回答 2查看 82关注 0票数 0

所以,正如你可能知道的,当谈到jQuery的时候,我有点业余。因此,如果有更好的方法来做我想做的事情,请友好地分享:)这里是正在发生的事情。当您将<?php echo $header_id; ?>替换为兼容的给定id时,脚本中的所有操作都很顺利,比如17。虽然$header_id是在这个脚本之前定义的,但它不能真正输出'17‘。

我在这之前做过研究,没有找到任何帮助。

所以我想主要的问题是,在这个实例中添加PHP回显是否真的有效,还是我需要另一种方法,或者这甚至不是问题.

代码语言:javascript
复制
$(".vote-button-disabled").click(function (evt) {
$(this).hide().prev("input[disabled]").prop("disabled", false).focus();

var quizid = "";
console.log(quizid);
$.ajax({ 
    url: "scripts/vote-post.php",
    type: "POST",
    data: {
        'quizid' : '<?php echo $header_id; ?>',
        'upvote' : '1', 
    },
    success: function() {
        console.log('yes!');
    },

error: function( xhr, status, errorThrown ) {
alert( "Sorry, there was a problem!" );
console.log( "Error: " + errorThrown );
console.log( "Status: " + status );
console.dir( xhr );
},
complete: function( xhr, status ) {
alert( "The request is complete!" );
}
});

});

感谢先进的!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-22 02:18:44

需要理解的是,PHP在服务器端执行,JavaScript在客户端执行。

PHP实际上不知道什么是HTML,什么是JavaScript,什么是纯文本。它只是知道它正在提供某种内容(可能)。因此,当您回显HTML或JavaScript代码时,实际上只是创建一个文本文件。您正在创建一个包含一些文本(恰好是HTML + JS代码)的文件,并将其作为对HTTP请求的响应发送。浏览器在响应中解释结果文本(这恰好是HTML + JS代码)。因此,可以将PHP看作HTML + JS生成器的一种方式。您可以使用PHP输出HTML + JS (当然还有更多)。

一旦您理解PHP在页面被发送回浏览器以解释HTML和JavaScript时已经完全完成了执行,您可以和不能用JavaScript做的事情的答案就变得简单得多了。PHP没有与JS交互,而是将JS代码作为文本创建,供浏览器在PHP执行完成后读取。

因此,正如问题注释中提到的@charlietfl,您应该将quizid添加到按钮上的data-quizid属性(假设您使用的是HTML5),然后使用var quizid = $(this).data('quizid');获取单击的特定元素的属性。

票数 1
EN

Stack Overflow用户

发布于 2014-10-22 02:24:16

如果它是来自PHP .js文件的外部.js,则无法工作。但是,您可以直接在PHP/HTML视图文档中插入JS。

代码语言:javascript
复制
<?php
    // Some PHP processing here, whatever you want
?>
<html>
    <head>
        <script type="text/javascript">
            // Your Javascript here, for example:
            var some_data = '<?php echo $some_variable; ?>';
            // ...
        </script>
    </head>
    <!-- Whatever you want to add -->
</html>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26498989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档