2014-03-05 148 views
0

我有一個Web API,它返回一個JSON字符串,例如:跨域JSON請求無填充元素

{"TipString":"Some text value here","TipNumber":"005"} 

我需要的TipStringTipNumber值推入兩款標籤:

<p id="n"></p> 
<p id="s"></p> 

從我今天搜索我創建了以下代碼來實現這一目標,但它不工作:

UPDATE d

$.getJSON(tipUrl) 
.done(function (json) { 
    $('#n').text(json["tipNumber"]); 
    $('#s').text(json["tipString"]); 
}) 
.fail(function (jqxhr, textStatus, errorThrown) { 
    var err = textStatus + ", " + errorThrown; 
    $('#s').text(err); 
}); 

這是一個跨域請求,我知道有一些問題,這被允許,但是,我可以看到在Firebug正在返回的JSON字符串。 但是,在頁面中我只看到error,正在填充。我的方法錯了嗎,還是我的語法?

+1

跨域不應該是一個問題,如果你只檢索JSON數據。什麼是錯誤信息? – musefan

+1

根據你的'done'函數需要'json'參數,那麼'data'是什麼呢? – Pavlo

+0

正如@Pavlo所說的,嘗試在第二行中用'data'替換'json'。 – rhgb

回答

1

您的語法錯誤。

$.getJSON(tipUrl) 
    .done(function (json) { 
     $('#n').text(json["tipNumber"]); 
     $('#s').text(json["tipString"]); 
    }) 
    .fail(function (jqxhr, textStatus, error) { 
     var err = textStatus + ", " + error; 
     $('#s').text(err); 
    }); 

更改的數據=> JSON在完成功能

+0

我剛纔看到'error'已被棄用 - 使用'errorThrown'來代替:http://stackoverflow.com/a/9847328/792888我已經更新了問題,因爲錯誤仍然存​​在,但'errorThrown'爲空 – EvilDr

+0

你沒有提到id =「tipString」。相應地更改字段ID。 –

+0

哦,不抱歉,這是我的錯誤。我忘了簡化代碼。即使改變它不起作用。對於混淆(刪除先前的評論)感到抱歉。 – EvilDr