還有一個參數需要發送。使用AJAX將一些XML發送到服務器的最佳方式是什麼?
所以這是我到目前爲止的代碼:
$.post(url + "/SaveProfile", { xml: XML, configName: name}, function() {
alert("Saved");
});
我得到這個錯誤:
A potentially dangerous Request.Form value was detected from the client
還有一個參數需要發送。使用AJAX將一些XML發送到服務器的最佳方式是什麼?
所以這是我到目前爲止的代碼:
$.post(url + "/SaveProfile", { xml: XML, configName: name}, function() {
alert("Saved");
});
我得到這個錯誤:
A potentially dangerous Request.Form value was detected from the client
從客戶端檢測到有潛在危險的Request.Form值
這是服務器端框架k保護您免受試圖注射的人。有許多方法可以禁用該頁面或整個站點的內容[我不會推薦這麼做。]最簡單的方法就是在字符串encode之後將其解碼到服務器上。
在這種情況下,我應該更喜歡POST over GET嗎? – user137348 2010-08-25 14:40:50
如果xml將超過獲取IE的限制,POST可能會更好。 – epascarello 2010-08-25 20:30:08
這是防止注入攻擊的服務器功能。
如果您使用ASP.NET MVC,您可以使用ValidateInput屬性來裝點控制器接收XML數據:
[ValidateInput(false)]
[AcceptVerbs (HttpVerbs.Post)]
public ActionResult
SaveEdits (string xmlData)
{
....
}
如果您使用經典ASP.NET,使用該指令在您的.aspx頁面中(不推薦,可能會打開安全問題):
<%@ Page ValidateRequest="false" ... %>
是的,但將其關閉不是保存選擇。 – user137348 2010-08-25 14:41:35
就是說,如果您只在需要的地方關閉它,並且您自己可以正確驗證數據。 – 2010-08-25 14:59:20
變化數據,你從服務器期待回XML 看到類型http://api.jquery.com/ jQuery.post/ – Akyegane 2010-08-25 14:17:18