我写这篇文章是为了向PHP脚本发送一些变量:
$(function() {
$('a[class="removeUnread"]').click(function(){
var markedtopicid = $(this).attr("id");
var sessionvar = \'', $context['session_var'], '\';
var sessionid = \'', $context['session_id'], '\';
$.ajax({
url: "index.php?action=quickmod;board=', $context['current_board'], '",
type: "POST",
data: sessionvar + "=" + sessionid + "&topics[]=" + markedtopicid + "&qaction=markread",
});
});
});
我认为这是通过ajax发送帖子数据的正确方法,但它似乎并没有发送。我是否正确将代码包装在就绪函数中?
答案 0 :(得分:1)
我可以直接告诉你,你的URL中不应该有quickmod和board之间的分号。我在这里回答因为我还不能发表评论。在Web开发中使用的一个很好的工具,特别是GET和POST请求是谷歌PostMan应用程序。它可以自由使用,它会做什么,它会显示你发送它的任何链接的确切输出。因此,您可以尝试将通过javascript制作的链接放入邮递员,看看它吐出的错误。
在这个例子中,我非常确定你的URL是各种各样的搞砸了。试试这个......
"index.php?action=quickmod&?board="+$context['current_board']
是的,我没有测试该链接,所以它可能无法正常工作。如果它不起作用,谷歌一些ajax示例和javascript字符串连接。你的字符串不适合ajax。
答案 1 :(得分:1)
应该是这样的......
$.ajax({
url :'index.php',
type : 'POST',
data : { sessionvar: sessionid, topics:markedtopicid},
success : function (data) {
},
error : function () {
}
答案 2 :(得分:0)
尝试处理错误:
$.ajax({
url: "index.php?action=quickmod;board=', $context['current_board'], '",
type: "POST",
data: sessionvar + "=" + sessionid + "&topics[]=" + markedtopicid + "&qaction=markread",
error: function (xhr, ajaxOptions, thrownError) {
alert(xhr.responseText);
}
});