1
Пожалуйста, смотрите код ниже:объект не поддерживает это свойство или метод с использованием AJAX
$.ajax({
type: "POST",
url: "Results1.aspx/TableQuery",
data: JSON.stringify({
mappingid: res[i],
strCon: $("#fieldGenieConnectionString")[0].value,
strTypeSession: $("#fieldTypeSession")[0].value
}),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess(i, res.length),
error: OnError,
failure: function (response) {
alert('there was a failure loading the webpage')
}
});
и код ниже:
function OnSuccess(i, totalrows) {
return function (response) {
//if (response.d != "") {
var strResponse = response.d;
strResponse = strResponse.toUpperCase;
if (strResponse.indexOf("<TR>") > 0) {
// alert(response.d);
document.getElementById('div' + i).innerHTML = document.getElementById('div' + i).innerHTML + '<br>' + '<br>' + response.d;
}
numSucceeded++;
var completeCalculation = (numSucceeded/totalrows) * 100
var rounded = completeCalculation.toFixed(0);
document.getElementById('ProgressIndicator').innerHTML = rounded + ' % complete';
document.getElementById('ProgressIndicator2').innerHTML = rounded + ' % complete';
if (numSucceeded === totalrows) {
var end = new Date().getTime();
var htmlResponse = "Loaded after: " + (end - start)/1000 + " seconds"
document.getElementById('TotalTimeLabel').innerHTML = htmlResponse;
document.getElementById('TotalTime2Label').innerHTML = htmlResponse;
$("#LoadingImage").hide();
$("#LoadingImage2").hide();
}
}
}
Следующая строка вызывает ошибку:
if (strResponse.indexOf("<TR>") > 0) {
Да, это он. Без круглых скобок он вернет указатель на функцию, и это определенно не имеет метода 'indexOf'! Хорошо заметили, мы все пропустили это – Jamiec
@Tushar. Да свойство length функций представляет количество аргументов, которые он ожидает (с именами аргументов). То есть '(function (a, b, c) {}). Length === 3' –
Спасибо. Я в первую очередь использую vb.net, поэтому я использую немного ленивый, оставляя круглые скобки. – w0051977