我嘗試發送表單時發生問題,如果存在特定的字段類型,則頁面返回超時。KnockoutJS - 發送包含javascript對象值的表單會導致超時
我使用KnockoutJS的映射插件來映射來自服務器的對象。我可以修改對象並將其發回。
爲此,我創建了一個計算函數,返回給我傳遞這個特定對象的結果ko.toJSON
。然後,這個值是放在一個隱藏輸入要發送回服務器:
<input type="hidden" name="a" data-bind="value: exportToJSON()" />
當我發送的形式與該輸入領域,我得到一個錯誤7:
錯誤7(net :: ERR_TIMED_OUT):操作超時。
這裏有一個代表的jsfiddle我的代碼
http://jsfiddle.net/etiennenoel/4EXSy/17/
我懷疑,因爲在通過POST發送字段中的數據是沒有逃過問題引起的?
更新1
有人建議使用ko.mapping.toJSON。但是,這樣做的結果在一個空字符串,看這裏:http://jsfiddle.net/etiennenoel/4EXSy/18/
更新2
現在,結果輸入不爲空,感謝@ ABC123:http://jsfiddle.net/etiennenoel/4EXSy/19/。 但是,發送POST數據時我仍然收到一個超時。你可以看到,在發送POST數據,當我在我的代碼發送我的表格:http://pastebin.com/hNRm4zdZ
更新3
我使用Symfony2中,我開始覺得問題可能與因爲當我複製並粘貼在一個簡單的HTML文件的形式Symfony2的東西,得到的數據發送...
更新4
我刪除的Symfony2 dev.log,點擊該按鈕,發送形式,得到了超時錯誤不幸的是,日誌仍然是空的....而且,所有的PHP和Apache日誌不顯示任何東西......
更新5
我終於決定來測試我的symfony網站另一臺服務器上它可以在另一臺服務器上運行......現在這變得很奇怪,爲什麼它不在我的本地服務器上工作?我使用MAMP Pro作爲本地服務器
兩者請仔細閱讀http://knockoutjs.com/documentation/submit-binding.html以及如何序列淘汰賽對象ko.mapping.toJSON(對象); – abc123
當我用您提供的行替換行時,結果爲空。 – CoachNono
@ abc123這就是我的意思:jsfiddle.net/etiennenoel/4EXSy/18 – CoachNono