Ich habe Probleme beim Abrufen von Daten mit Ajax. Während meiner Tests in lokalen gibt es genau das, was ich wollte, aber wenn ich das Projekt auf dem Server mit IIS veröffentlichen, gibt es einen HTML-Code meiner Seite und mit einem Fehler "Syntax Fehler: Unexpected Token < in JSON als Position 0". Kann mir jemand helfen. Ich schätze es wirklich. Thanks :)Syntax Fehler: Unexpected Token <in JSON als Position 0
Im Folgenden sind mein Code:
Controller:
[HttpGet]
public ActionResult getregion(string zname)
{
SelectList list = RegionList(zname);
var serializedData = JsonConvert.SerializeObject(list, Formatting.Indented,
new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver(),
NullValueHandling = NullValueHandling.Ignore
});
return Json(list, JsonRequestBehavior.AllowGet);
}
Der obige Code wird eine Liste der Region im JSON-Format zurück.
Diese Methode wird aufgerufen, um die Liste der Region abzurufen.
JAVASCRIPT:
$(function() {
$('#zoneitem').change(function() {
var item = $('#zoneitem').val();
var region = $("#regionitem");
region.empty();
if (item != "") {
$("#reportsitem").val($("#reportsitem option:first").val());
}
$.ajax({
type: "GET",
url: "Home/getregion",
contentType: "application/json; charset=utf-8",
data: { zname: item },
cache: false,
dataType: "json",
success: function (result) {
for (var i = 0; i < result.length; i++) {
region.append('<option value="' + result[i].Value.trim() + '">' + result[i].Text.trim() + '</option>');
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(errorThrown);
}
});
});
});
Das ist mein _reference.js Code, wenn ich das Debuggen des zurückgegebene Ergebnis in HTML-Format von meiner Web-Seite war. Bitte, kann mir jemand bei diesem Problem helfen. Ich recherchiere es schon und probier es doch immer noch das selbe Problem.
Es scheint, dass es einige HTML-Zeichen in Ihrer Antwort von api ..Überprüfen Sie, ob es eine Warnung oder einen Hinweis für eine Variable enthält, und versuchen Sie, alle HTML-Zeichen zu entfernen und dann die Antwort mit JSON.parse (Daten) zu analysieren – axcl
Öffnen Sie die Registerkarte Netzwerk und überprüfen Sie die Nutzdaten der Antwort. –