2013-10-15 46 views
1

我有一些模式,我想更換,JavaScript的更換被替換每個空間,非空間

但不知何故,結果字符串是錯誤的,我不知道發生了什麼事的字符串。

我試了一下在控制檯上,並按照預期運行,但我想,以取代目前的字符串,來自一個JSON結果做到這一點:

var json = {str: 'Hi this _pattern_ will be replaced.'}; 
json.str = json.str.replace('_pattern_', 'pattern'); 

我期望的那樣結果:

'Hi this pattern will be replaced.' 

不過,我有這樣的結果,當我使用的是來自服務器的JSON:

'Hi thispatternwill be replaced.' 

爲什麼?

編輯:

這裏有一個JSON的例子來自服務器,結果是一樣的我說:

{"MsgPreenchaCamposObrigatorios":"O campo _nomeCampo_ é de preenchimento obrigatório"} 

更換_nomeCampo_裝飾每一個空格。

編輯2:

下面是使代碼替換:

var campo = 'Produto'; 
resources.MsgPreenchaCamposObrigatorios = resources.MsgPreenchaCamposObrigatorios.replace('_nomeCampo_', campo); 
+0

Works here:http://jsfiddle.net/PWe7e/ - 是從服務器回來的EXACT JSON嗎? – tymeJV

+0

也許在服務器發送給你的東西中沒有空格。 –

+0

適用於Firefox控制檯。 –

回答

0

謝謝大家,如@Krishna建議,我檢查了所有$手錶的,我發現一個被搞亂了當它傳遞給模態時的字符串。