2017-08-15 77 views
0

我有一個使用var的本地Json數據(在同一個文件中)的搜索框,但現在我想用與外部url json文件一樣的方式它在之前工作。從url而不是本地獲取json數據

我現在擁有的一切:

var data1 = [{"test_id":"1","test":"test","test2":"test2"}]; 

我試圖:

var data = $.ajax({ 
    dataType: "json", 
    url: 'myjsonurl', 
    data: data 
}); 

我已經試過的getJSON,並與其他一些建議,但不工作,我期望,在圖像,你可以看到我有兩種方式的數據,但有很大的不同,並沒有在搜索框中工作。

圖片:https://i.stack.imgur.com/kWKkz.png

您可以在這裏找到搜索框:

https://www.js-tutorials.com/javascript-tutorial/live-search-json-objects-data-using-jquery/

是否有任何想法,從外部文件獲得相同的數據,我現在用它爲var當成搜索框呢?

任何想法?

由於提前,

+0

檢查此答案 - > [將$ .ajax分配給變量](https://stackoverflow.com/a/18061647/5090771) – WhiteHat

回答

0

你正在做的方式是,你越來越是XHR對象。

爲了獲得正確的JSON響應並對其進行處理,您可以編寫成功函數並處理響應數據,或者僅使用getJSON。

例如:

$.getJSON('https://gist.githubusercontent.com/GeekAb/027c70bd21d006027cd91f538ae4694e/raw/68fda14df1b9fbf6835a02639aa210e88826d19d/SampleJSON', 
    function(data) { 
     console.log(data); 
     console.log(data[0]); 
     console.log(data[0]['employee_age']); 
}); 

您可以檢查該Bin鏈接https://jsbin.com/cixezewisi/edit?html,js,console

+0

謝謝,我認爲我知道如何解決它,:)真的讚賞 – Javier

0

首先,你有很多的選擇,當談到從外部文件(有些比其他人更容易)導入數據。下面的列表是從另一個stackoverflow post

  1. ES6進口
  2. Node.js的要求
  3. 阿賈克斯
  4. jQuery的

我建議檢查出的鏈接,作爲海報給予了極大的細節在這些選項上。

無論如何,它看起來像你試圖用Ajax實現這一點。你基本上正確地把它放下。根據圖片,你的問題是使用ajax已經將你的數據串聯起來,這是預期的。所有你需要做的是:

var data = $.ajax({ 
    dataType: "json", 
    url: 'myjsonurl' 
}); 

var parsedData = JSON.parse(data) 

這將解析你的數據到你正在尋找的JS陣列。