1. 程式人生 > >jquery ajax呼叫資料後判斷返回值是否為 json 格式

jquery ajax呼叫資料後判斷返回值是否為 json 格式

在做一個專案中的一個需求時,遇到一個ajax返回值的問題,有兩種返回情況,一種是返回String型別,是一大段後臺拼裝成的html指令碼,用eval()函式處理,然後展示到頁面。一種是一json格式,取json值,然後展示成彈出框資訊。在處理的過程中,要用到eval()函式對String返回進行處理,一直報缺少 “}”的錯誤,在網上查了下,要用eval()函式寫成這樣:eval(json)改成eval('('+json+')')。但是json格式的話,又判斷不了,於是百度了下,判斷返回值是否為json格式,正則很厲害,記錄下搜尋結果,不算原創,別人的成果。

$.ajax({
type:'get'

,
url: url,
success:function(data){
//判斷返回值不是 json 格式
if(!data.match("^\{(.+:.+,*){1,}\}$"))
{
//普通字串處理
}
else
{
//通過這種方法可將字串轉換為物件
var rdata = jQuery.parseJSON(data);
}


},
error:function(data){
alert(data.responseText);
}
});