【发布时间】:2016-07-01 14:29:58
【问题描述】:
我正在尝试将 JSON 字符串从 ajax 调用发送到 ASP.NET api。 JSON 字符串到达,但被截断为 ascii 代码。
那么我怎样才能在我的参数字符串中允许ASCII码呢?
相关代码如下:
function sendBewerkVacature(id) {
var velden = document.getElementsByClassName("veld");
var veldenArray = "{'" + velden[0].name + "' : '" + velden[0].value+"'";
for (var i = 1; i < velden.length; i++) {
veldenArray = veldenArray + ", '" + velden[i].name + "' : '" + velden[i].value+"'";
}
veldenArray = veldenArray + "}";
var JSONVelden = JSON.stringify({ "velden": veldenArray });
console.log(JSONVelden);
$.ajax({
url: "http://localhost:26454/api/Vacatures/PostEditVacature?id=" + id + "&velden=" + JSONVelden,
type: "POST",
statusCode: {
200: function (data) {
alert("Geslaagd!");
}
}
})
}
public HttpResponseMessage PostEditVacature(int id, string velden)
{
db.vacatures.Find(id);
JavaScriptSerializer serializer = new JavaScriptSerializer();
vacatures vacature = (vacatures)serializer.DeserializeObject(velden);
var response = new HttpResponseMessage(HttpStatusCode.OK);
return response;
}
发送的字符串如下所示:
object a:{"velden":"{'FunctieTitel' : 'Natuurkunde', 'school_naam' : 'undefined', 'vak_naam' : 'Natuurkunde', 'aantal_uren' : '18-25', 'datum_ingang' : '16-2-2011', 'omschrijving' : '<p>Voor de afdeling havo/vwo klas 2 en 3 zijn wij op zoek naar een docent(e) Natuurkunde 2e graads voor 18 tot 25 lesuren per week.</p><p> </p><p>Locatie: Koninginnelaan te Vlaardingen</p><p>Klassen: leerjaar 2 en 3 havo/vwo</p><p>Salaris: inschaling in LB, arbeidsvoorwaarden conform CAO Voortgezet Onderwijs.</p><p>Ingangsdatum: 01-08-2011, tijdelijke aanstelling met uitzicht op een vaste aanstelling.</p>'}"}
但在控制器中它看起来像这样:
{"velden":"{'FunctieTitel' : 'Natuurkunde', 'school_naam' : 'undefined', 'vak_naam' : 'Natuurkunde', 'aantal_uren' : '18-25', 'datum_ingang' : '16-2-2011', 'omschrijving' : '<p>Voor de afdeling havo/vwo klas 2 en 3 zijn wij op zoek naar een docent(e) Natuurkunde 2e graads voor 18 tot 25 lesuren per week.</p><p>}
【问题讨论】:
-
您查看此处显示的字符串的具体情况如何?
-
我在下面放了一个断点:public HttpResponseMessage PostEditVacature(int id, string velden) {
-
您使用了什么代码,结果如何? ` &` 不是 JSON 的有效 ASCII 码 - JSON 没有 ASCII 码。 JSON 仅允许
\u1234形式的 Unicode。贴出你使用的代码、原文和结果,以便重现问题 -
请将所有这些都放入问题而不是cmets中。
标签: c# asp.net json asp.net-apicontroller