1
我發送XML/MATHML在我的AJAX請求數據,並在C#中的服務器端,我得到這種文字:將類似url的字符串轉換爲C#中的xml字符串?
%3Cmath%3E%0A%20%20%20%20%3Cmrow%3E%0A%20%20%20%20%20%20%20%20%3Cmsub%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cmi%3Ex%3C%2Fmi%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cmtext%3E12%3C%2Fmtext%3E%0A%20%20%20%20%20%20%20%20%3C%2Fmsub%3E%0A%20%20%20%20%20%20%20%20
所以,基本上它是XML,但是XML基本字符被轉換到URL一樣的人物,%20,%3E,0A%等等
我有這樣的POST方法在我的API控制器:
[HttpPost]
public HttpResponseMessage PostUpload(HttpRequestMessage req)
{
string jsonContent = req.Content.ReadAsStringAsync().Result;
Utility.Utility.WriteLineToConsole("json data post: " + jsonContent);
return Request.CreateResponse(HttpStatusCode.OK, jsonContent);
}
效用函數WriteLineToConsole()打印jsonContent和頂部結果中的文本。
我該如何將上面的字符串轉換爲xml,即將url-like字符替換爲xml字符?
注:我使用MVC 4/C#,jQuery AJAX,並且contentType和dataType都是json類型。我希望我的數據對象要像
data:{mathml: "<math>...</math>"}
這看起來像它的'urlencode'd。嘗試'Server.Decode(thatString);'或'HttpUtility.UrlDecode(thatString)'或'Uri.UnescapeDataString(thatString)' – Kyle
似乎沒有在ajax調用中正確設置contentType。檢查[這](https://stackoverflow.com/questions/17535872/http-post-xml-data-in-c-sharp) –
順便說一句,爲什麼你設置它爲JSON時,你顯然發送XML?似乎'application/xml; charset = UTF-8'更合適。 – Kyle