0
我們有一個使用trigger.io構建的ios應用程序。此應用程序正在使用forge.request.ajax將數據發送到我們的服務器。我們的要求的一個偶爾會引發錯誤並返回此:forge.request.ajax返回:「無效的參數不令人滿意:url」
{"message":"Invalid parameter not satisfying: url","type":"UNEXPECTED_FAILURE"}
因爲輸入參數以JSON格式發送我懷疑是用戶輸入的一些字符,可能會破壞結構,導致此錯誤。我的代碼如下所示:
forge.request.ajax({
url: "someurl.php",
dataType: "json",
data:"some=data&and=some&more=data&which=is inputted by user",
success: function (data) {
},
error: function (error) {
forge.request.ajax({
url: "errorlog.php",
dataType: "json",
data:"data=" + encodeURIComponent(JSON.stringify(error)),
success: function (data) {
},
error: function (error) {
}
});
}
});
此代碼給出了上述錯誤一半的時間。並在另一半工作。 ajax請求中的輸入參數是否有任何限制?因爲我無法編輯Objective-C代碼,所以我需要一個解決方案 - 最好是一個過濾器 - 它確保此函數可以與輸入的任何輸入一起工作。
現在我仔細看了看,發現其中一個新添加的參數實際上沒有用encodeURIComponent進行過濾,失敗的請求都在該特定字段中有多字節字符,這些字符未經過濾。可能是這種情況,謝謝你的回答。 – 2014-09-29 11:19:22