2012-11-19 68 views
7

Tôi đang cố gắng trả về dữ liệu JSON từ URL được chỉ định nhưng khi cảnh báo bật lên nó chỉ hiển thị [đối tượng Object] (tôi nhận ra đối tượng đối tượng không thực tế là lỗi). Tôi muốn nhổ tên vị trí và các trường khác trong cảnh báo. Làm thế nào để tôi làm điều này?JSON trả về [object Object]

Dưới đây là một ví dụ về JSON Tôi đang tìm kiếm tại (toàn bộ tập tin có khoảng 30 tin đăng)

[ 
    { 
    "m_id": 473644, 
    "m_positionName": "Application Monitoring Software Engineer", 
    "m_positionLocations": [ 
     {} 
    ], 
    "m_active": true, 
    "m_description": "Job Responsibilities:\r\n\r\n-Create world class application monitoring tools and dashboards for our health care applications\r\n\r\n-Develop business rules to pro actively identify and re-mediate system-level issues before they occur.\r\n\r\n-Create business intelligence reports for internal and external use as a supplement to software products.\r\n\r\n\r\n\r\nJob Requirements:\r\n\r\n-BS or MS Degree in computer science or any engineering discipline.\r\n-4+ years of experience with Java (or other object-oriented programming language).\r\n-Experience in SQL, Struts, Hibernate, Spring, Eclipse, JSP, JavaScript.\r\n-Highly motivated and self-driven personality.\r\n-Excellent interpersonal and leadership skills.\r\n-A vision for the future and a desire to make a difference.\r\n-Experience with Maven, Tomcat, PostgreSql, Jasper Reports,", 
    "m_postedDate": "Jun 29, 2012 9:17:19 AM", 
    "m_closingDate": "Jun 29, 2013 12:00:00 AM" 
    } 
] 

Và đây là kịch bản tôi đang sử dụng.

$.ajax({ 
type: "GET", 
url: '/wp-content/themes/twentyeleven/js/jobopenings.json', 
async: false, 
beforeSend: function(x) { 
    if(x && x.overrideMimeType) { 
    x.overrideMimeType("application/j-son;charset=UTF-8"); 
    } 
}, 
dataType: "json", 
success: function(data){ 
alert(data); 
} 
}); 

Bất kỳ trợ giúp nào được đánh giá cao.

+9

Sử dụng 'console.log' thay vì' alert'. – undefined

Trả lời

6

Hãy thử điều này:

success: function(data) 
{ 
    var _len = data.length; 
    , post, i; 

    for (i = 0; i < _len; i++) { 
    //debugger 
    post = data[i]; 
    alert("m_positionName is "+ post. m_positionName); 
    } 
} 
+1

Bây giờ chúng ta đang nấu ăn. Điều này phun ra mọi vị trí cảm ơn bạn! – gschervish

+0

Bây giờ, nếu tôi muốn thêm dữ liệu này vào cơ thể thay vì cảnh báo thì tôi sẽ viết gì. Tôi đã nghĩ ra điều này nhưng nó không hoạt động. '('

  • '+ "m_positionName là" + post.m_positionName +'
  • ') .appendTo (' body');' – gschervish

    +1

    @ user1324700 'thành công: function (data) { var _len = data.length ; , $ span = $ ('') , bài đăng, i; cho (i = 0; i <_len; i ++) { // trình gỡ lỗi bài = dữ liệu [i]; $ span.html ("m_positionName là" + bài. M_positionName) .appendTo ('body'); Cảnh báo ("m_positionName là" + bài. M_positionName); } } ' – eseceve

    18

    Bạn luôn có thể biến đối tượng thành chuỗi và cảnh báo điều đó.

    alert(JSON.stringify(data)); 
    
    +0

    Điều đó làm nhổ ra dữ liệu trong đối tượng nhưng tôi muốn đặc biệt nhổ ra trường m_description vào một số html nói ** li ** – gschervish

    0

    Khi jQuery nhận được một json, jQuery sẽ tự động chuyển đổi nó thành đối tượng javascript. Vì vậy, data chỉ chứa đối tượng của bạn đã sẵn sàng để sử dụng. Nếu bạn muốn truy cập vào các văn bản gốc của phản ứng, bạn có thể làm điều này:

    success: function(data, textStatus, jqXHR){ 
        alert(jqXHR.responseText); 
    } 
    
    +0

    Điều này không nhổ ra văn bản thô nhưng tôi muốn nhổ ra 'm_positionName', 'm_description' và những người khác – gschervish

    Các vấn đề liên quan