我正在使用Ajax创建评论而不能正常工作,我不确定问题出在哪里。我在想它可能就像我正在阅读UserID和VideoID
我在会话中保存了UserID,并且videoID保存在查询字符串中。 我读错了吗?!如果是的话我怎么读它们?
这是我的js代码:
<script type="text/javascript">
$(document).ready(function () {
$('#btnPost').click(function (e) {
$.ajax({
url: "Ajax/ProcessAddComment.aspx",
data: {
commenttext: $('.txtcomment').val(),
videoid: Request.QueryString["d"],
userid: $.session.get('UserID')
},
success: function (data) {
alert(data);
},
error: function () {
}
});
});
$.ajax({
url: "Ajax/ProcessFindComment.aspx",
data: { videoid: Request.QueryString["id"] },
success: function (data) {
// Append to the bottom
// of list while prepend
// to the top of list
$('.postlist').html(data);
},
error: function () {
alert('Error');
}
});
});
答案 0 :(得分:0)
我假设您正在使用this plugin来设置会话。
我认为您的问题是:Request.QueryString
尝试使用以下JS函数从查询字符串中获取值,而不是:
function (key) {
if (!key) return '';
key = key.replace(/[*+?^$.\[\]{}()|\\\/]/g, "\\$&"); // escape RegEx meta chars
var match = location.search.match(new RegExp("[?&]" + key + "=([^&]+)(&|$)"));
return (match && decodeURIComponent(match[1].replace(/\+/g, " "))) || '';
};
注意:您可以使用开发人员窗口中的网络选项卡(在大多数浏览器中为F12)来查看Ajax数据。那里的错误控制台应该告诉您是否存在JavaScript错误,并且网络选项卡应该告诉您Ajax请求和响应中的内容。