1
以下jQuery代碼:
$.param({
Parts: [{ hasLabel: "label", hasType: "type", hasIndex : 1 }],
LastKey : "LastKey",
Term : "Term"
})
給出了下面的輸出:
"Parts%5B0%5D%5BhasLabel%5D=label&Parts%5B0%5D%5BhasType%5D=type&Parts%5B0%5D%5BhasIndex%5D=1&LastKey=LastKey&Term=Term"
其解碼爲(使用decodeURI( )):
"Parts[0][hasLabel]=label&Parts[0][hasType]=type&Parts[0][hasIndex]=0&LastKey=LastKey&Term=Term"
但是,MVC中的默認模型綁定程序需要以下內容:
"Parts[0].hasLabel=label&Parts[0].hasType=type&Parts[0].hasIndex=0&LastKey=LastKey&Term=Term"
我在尋找一個Javascript正則表達式來要挾編碼的字符串轉換成(仍然編碼)字符串,而是一個解碼正確的模型約束力的公約。
CR @ P,真抱歉,我剛認識我實際上需要它來處理編碼的字符串,也就是'encodeURI(「Parts [0] [hasLabel] = label&Parts [0] [hasType] = type&Parts [0] [hasIndex] = 0和LastKey = LastKey&Term = Term的返回值「)'。 'decodeURI(result)==「Parts [0] .hasLabel = label&Parts [0] .hasType = type&Parts [0] .hasIndex = 0&LastKey = LastKey&Term = Term'' – parliament
I'我剛剛測試它,它的工作原理!怎麼運行的?與你的表達,不應該被[]之間的所有內容取代? '。$ 1'的含義(定義的鏈接將被優先考慮)... – ESt3b4n
@parliament:如果您在上面的變量mvcParams上調用encodeURI,您將獲得期望的結果 –