У меня есть следующий кусочек jQuery, который вызывает метод WCF. Вызов метода преуспевает в той степени, в которой я вижу, как он ведет регистрацию, и он делает возвращает логическое истинное. Тем не менее, обработчик ошибок возвращается с «вызовом Ajax вызов в Callisdataready» и «Синтаксис -ошибка: неверный символ». Затем он не берет путь к успеху, вызовов CallupDateGrid. Я не могу найти неверного персонажа. Помощь! < /P>
function CallIsDataReady(input) {
$.ajax({
url: "http://www.blah.com/services/TestsServi ... sDataReady",
type: "GET",
contentType: "application/json; charset=utf-8",
data: input,
dataType: "json",
success: function (data) {
if (!data) {
setTimeout(function (inputInner) { CallIsDataReady(inputInner); }, 1000);
}
else {
console.log("data returned - calling callUpDateGrid");
//Continue as data is ready
callUpdateGrid(input);
}
},
error: function (jqXHR, textStatus, errThrown) {
console.log("AJAX call failed in CallIsDataReady");
console.log(errThrown);
}
});
}
$(document).ready(function () {
var input = { "requestGUID": "" };
CallIsDataReady(input);
});
< /code>
Метод на стороне сервера возвращает JSON, поскольку это веб -служба с поддержкой AJAX: < /p>
[OperationContract]
[WebGet]
public bool IsDataReady(string requestGUID)
{
bool isReady = Global.publicDataDictionary.Keys.Contains(requestGUID);
using (savitasEntities2 db = new savitasEntities2())
{
DataRequestLog drl = new DataRequestLog();
drl.registrationID = "";
drl.request = "Is Ready=" + isReady;
drl.connectionID = "";
drl.created = System.DateTime.Now.ToUniversalTime();
drl.direction = "tickler";
drl.dataRequestGUID = requestGUID;
db.DataRequestLogs.Add(drl);
db.SaveChanges();
}
return isReady;
}
< /code>
Изменить: 2 -й метод Javascript: < /p>
function callUpdateGrid(input) {
console.log(input);
$.ajax({
url: "http://www.blah.com/services/TestsServi ... ountbyGUID",
type: "GET",
contentType: "application/json; charset=utf-8",
data: input,
dataType: "json",
success: function (data) {
var mtv = $find("").get_masterTableView();
console.log(data);
mtv.set_dataSource(data.d.Data);
mtv.dataBind();
},
error: function (jqXHR, textStatus, errThrown) {
console.log("AJAX call failed in callUpdateGrid");
console.log(errThrown);
}
});
}
Подробнее здесь: https://stackoverflow.com/questions/225 ... call-where