我有这个回调函数,当新的评论被添加到disqus线程时,通过电子邮件通知网站上的作者。
<script type="text/javascript">
function disqus_config() {
this.callbacks.onNewComment = [function(comment) {
var authname = document.getElementById('authname').value;
var authmail = document.getElementById('authmail').value;
var link = document.getElementById('link').value;
var disqusAPIKey = 'MY_API_KEY';
var disqusCall = 'https://disqus.com/api/3.0/posts/details.json?post=' + comment.id + '&api_key=' + disqusAPIKey;
$.ajax({
type: 'POST',
url: 'URL_OF_MAIL.PHP',
data: {'authname': authname, 'authmail': authmail, 'link': link, 'disqusCall': disqusCall},
cache: false,
});
}];
}
</script>
一切都像魅力一样。除了......我的理解范围之外的是什么(我已经四处搜索了。但看到我对JSON一无所知,我甚至不知道该找什么)如何提取信息来自'disqusCall'变量?现在,我只是得到一个链接(包含我感兴趣的两件事,名称和消息)。我想在邮件中加入这些内容。
我确信这是“解码”JSON信息的简单方法,但我不知道如何。我在这个主题上发现的所有帖子都让我更加困惑了哈哈
答案 0 :(得分:0)
您需要提供成功回调,以便使用返回的json数据。
$.ajax({
type: 'POST',
url: 'URL_OF_MAIL.PHP',
data: {
'authname': authname,
'authmail': authmail,
'link': link,
'disqusCall': disqusCall
},
cache: false,
success: function (data) {
if(data.length>0)
{
//read the json data
}
}
});
答案 1 :(得分:0)
所以我能够在一位对JSON有更好了解的朋友的帮助下完成这项工作。
这就是我最终的结果
<script type="text/javascript">
function disqus_config() {
this.callbacks.onNewComment = [function(comment) {
var authname = document.getElementById('authname').value;
var authmail = document.getElementById('authmail').value;
var link = document.getElementById('link').value;
var disqusAPIKey = 'MY_API_KEY';
$.ajax({
type: 'GET',
url: 'https://disqus.com/api/3.0/posts/details.json',
data: {
'post': comment.id,
'api_key': disqusAPIKey
},
success: function (data) {
var post_author_name = data.response.author.name;
var comment = data.response.raw_message;
$.ajax({
type: 'POST',
url: 'URL_TO_MAIL.PHP',
data: {
'authname': authname,
'authmail': authmail,
'link': link,
'post_author_name': post_author_name,
'comment': comment
},
});
},
cache: false,
});
}];
}
</script>
您可以查看我撰写的有关此here的文章。它描述了我使用JSON的原因。