无法在Firefox和IE9中获取数据,但在Chrome和Safari中正常工作
我有这个方法
function callCommentservice() {
try {
// Comment Service Url
var getCommentServiceUrl = self.commentsServiceUrl + self.getRating + "tenantId=" + self.tenantId + "&ratedObjectTypeId=" + self.ratedObjectTypeId + "&ratedObjectId=" + self.ratedObjectId + "&ratingType=" + self.ratingType + "&start=" + self.start + "&totalRecordsNeeded=" + self.totalRecordsNeeded;
$.ajax({
type: "GET",
url: getCommentServiceUrl,
contentType: "application/json",
timeout: 5000,
beforeSend: function (xhr) {
xhr.setRequestHeader("Accept", "application/json");
},
dataType: "json",
success: function (data) {
alert("I m in here.............!!!!");
// if (success == data) {
// Assigning totalRecordsNeeded value to global variable pagination_parameters.pageSize
pagination_parameters.pageSize = self.totalRecordsNeeded;
//Printing on a console.
debug("get comments url: " + getCommentServiceUrl);
// Calling Service in order to get data.
// $.getJSON(getCommentServiceUrl + "&callback=?", function (data) {
var emptyCommentHyperlink = document.getElementById('emptyCommentHyperlink');
// when there is no comment available in a service than this block will work.
if (data.length == 0) {
emptyCommentHyperlink.style.display = 'block';
//emptyCommentHyperlink.onclick = addCommentsBox;
$("#emptyCommentHyperlink").click(addCommentsBox);
}
else {
emptyCommentHyperlink.style.display = 'none';
}
//printing on a console.
debug("Date from the get service:" + data);
//alert(data);
// Changing date format of a service element AddedDateTime.
for (var key = 0; key < data.length; key++) {
var dataArray = data[key];
// Printing on console.
debug("data Array after the data object:" + dataArray);
var jsonDate = dataArray.AddedDateTime; //AddedDateTime is the service element.'
// Printing on a console.
debug("converted Time" + jsonDate);
var oneSecond = 1000; // milliseconds in one seconds
// changing format of the AddedDateTime
var date = new Date(parseInt(jsonDate.substring(6)));
var year = date.getFullYear(); // 2011
var day = date.getDay();
var exactdate = date.getDate();
var month = date.getMonth();
var hours = date.getHours();
var minutes = date.getMinutes();
var month_names_short = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
// Fromating Absolute time over tooltip.
if (hours > 12) {
hours = hours - 12;
var exact = zeroPad(hours) + ":" + zeroPad(minutes) + " PM" + ", " + exactdate + " " + month_names_short[month] + " " + year;
}
else {
var exact = zeroPad(hours) + ":" + zeroPad(minutes) + " AM" + ", " + exactdate + " " + month_names_short[month] + " " + year;
}
// subtracting current date with the comment date.
var finalDate = Math.abs(new Date() - date) / oneSecond;
dataArray.time_duration = new TimeSpan(finalDate).toString();
// Printing on a console.
debug("finalDate: " + dataArray.time_duration);
//alert(dataArray.time_duration);
dataArray.Absolute_Date = exact;
}
// Extracting TotalCount from service.
var totalComments = data[0].TotalCount;
// alert(totalComments);
//Calling paging Function
pages(totalComments);
//Making the commenttable empty.
$('#commentDiv').empty();
// Printing on a console.
debug("data before mactache" + data);
var comments = { "Comments": data };
var html = Mustache.to_html(self.template_html, comments);
var target_div = document.getElementById("commentDiv");
target_div.innerHTML = html;
//alert("target_div");
// });
},
// },
error: function (xhr, ajaxOptions, thrownError) {
debug(xhr);
var errorMsg = document.getElementById('ErrorLable');
errorMsg.style.display = "block";
}
});
}
catch (err) {
//Printing on a console.
debug("callCommentservice");
debug(err);
}
}
此方法在Chrome和Safari中正常工作,但在IE 9和Firefox中无法正常工作,我在firefox请求标题中收到错误405,如下所示: -
响应头允许
GET Content-Length 1565 Content-Type text / html; charset = UTF-8服务器Microsoft-IIS / 7.5 X-Powered-By ASP.NET Access-Control-Allow-Orig ... * Access-Control-Allow-Meth ... POST,GET,OPTIONS访问控制 - 允许 - 内容类型,接受访问控制 - 最大年龄1728000日期2011年12月14日(星期三)10:30:43 GMT
Request Headers Host services.farooq.tv用户代理Mozilla / 5.0(Windows NT 6.1; WOW64; rv:8.0.1)Gecko / 20100101 Firefox / 8.0.1接受text / html,application / xhtml + xml,application / xml; q = 0.9,/; q = 0.8 Accept-Language en-us,en; q = 0.5 Accept-Encoding gzip,放弃Accept-Charset ISO-8859-1,utf-8; q = 0.7,*; q = 0.7连接keep-alive起源http://marketplace.softech-lp35.softech.us访问控制请求我... GET访问控制请求他...内容类型
contentType中存在一个问题:“application / json”,我已经将它从$ .ajax函数中移除,现在它的工作正常。
链接地址: http://www.djcxy.com/p/42445.html上一篇: Can't get data in Firefox and IE9 but it works fine in Chrome and Safari