2012-05-12 39 views
0

我做一個jQuery Ajax調用PHP腳本返回在Javascript這個字符串變量:格式化字符串在javascript

"<div id=\"page\">\r\n\r\n\t" 

我可能失去了一些東西簡單在這裏,但有沒有辦法恢復\r\n<br/>,但更重要的是,將\"page\"恢復爲"page"?我無法弄清楚。

的Javascript看起來是這樣的:

$.ajax({ 
     type: 'POST', 
     dataType: "JSON", 
     url: sameURLasPHPscript, 
     success:function(data){ 
      // successful request; do something with the data 
      $('body').text(data); 
     }, 
     error:function(){ 
      // failed request; give feedback to user 
      alert('ErrorMessage'); 
     } 
    }); 

我的PHP文件看起來像這樣:

 $url = "someURL/controller/action/getID"; 

     $a = file_get_contents($url);   

     echo json_encode($a); 

編輯:解決方案可以在這裏找到:http://blog.dkferguson.com/index.cfm/2011/3/15/jQuery-Mobile-styling-loaded-content

+0

你的PHP代碼是什麼樣的?你應該從那裏修復它。 –

+0

事實上,對服務器端腳本的一些調整將是最好的,因爲它會產生這種無益的輸出。 –

+0

@大衛一切都是應該的,直到我做json_encode($ b)。有沒有辦法在PHP中做到這一點? –

回答

2

你的服務器發送JSON編碼的數據,你應該同樣對待它。更改您的jQuery.ajax的參數,以便它期望JSON數據。然後jQuery將解析數據並處理所有的\"\r\n

編輯

比較這兩個jQuery函數輸出:

$('body').text("<b>bold</b>"); // will write <b>bold</b> literally 
$('body').html("<b>bold</b>"); // will write bold in bold font 

您需要使用jQuery.html函數來顯示HTML作爲HTML。

+0

我決定如果我不做json_encode()會更好。有沒有一種方法可以在PHP中轉換這些字符而不是javascript? –

+0

更改'echo json_encode($ b);''echo $ b;'? –

+0

我編輯了我的問題到您的建議。 –