ajax呼び出しからJSON文字列をASP.NET APIに送信しようとしています。 JSON文字列は到着しますが、ASCIIコードで切り捨てられます。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>}
ここに示した文字列をどのように正確に見ていますか? –
これを見てください:http://stackoverflow.com/questions/14095247/using-stringescapehandling-escapenonascii-with-json-net – Yar
私は、すぐ下にブレークポイントを配置します:public HttpResponseMessage PostEditVacature(int id、string velden) { – devKoen1