Uncaught TypeError: Không thể sử dụng toán tử 'in' để tìm kiếm 'length' trong


101

Uncaught TypeError: Không thể sử dụng toán tử "in" để tìm kiếm "độ dài" trong "

Đây là lỗi tôi nhận được khi cố gắng thực hiện $.eachvới đối tượng JSON này:

{"type":"Anuncio","textos":["Probando esto","$ 20150515"],"submit":"codParameters?___DDSESSIONID\u003d14EA4721A904D6DD71591156996E29F7%3A%2FMobilTest"}

Tôi cũng đã cố gắng làm điều tương tự với stringify, nhưng tôi nhận được lỗi tương tự:

{\"type\":\"Anuncio\",\"textos\":[\"Probando esto\",\"$ 20150515\"],\"submit\":\"codParameters?___DDSESSIONID\\u003d06CBEC9D1A53616EFF703A8C71FBC2B4%3A%2FMobilTest\"}"

Nếu tôi xóa các tham số ___DDSESSIONID\\u003d06CBEC9D1A53616EFF703A8C71FBC2B4%3A%2FMobilTestkhỏi đối tượng thì $ .each hoạt động tốt.

Tại sao điều này có thể xảy ra?


4
Vui lòng định dạng mã của bạn, không thể đọc nó như thế này. Bạn có thể sử dụng {}nút soạn thảo văn bản hoặc thụt lề mỗi dòng mã 4 dấu cách.
Sidd

Câu trả lời:


235

Các innhà điều hành chỉ hoạt động trên các đối tượng. Bạn đang sử dụng nó trên một chuỗi. Hãy chắc chắn rằng giá trị của bạn là một đối tượng trước khi bạn sử dụng $.each. Trong trường hợp cụ thể này, bạn phải phân tích cú pháp JSON :

$.each(JSON.parse(myData), ...);

Felix, trước $ .each, tôi có JSON.parse, lỗi xuất hiện khi trong lần gửi khóa có giá trị -> "codParameters? ___ DDSESSIONID \ u003d14EA4721A904D6DD71591156996E29F7% 3A% 2FMobilTest".
Iván Alberto Fontalvo Salgado

Vui lòng đăng mã của bạn, tôi không thể repro lỗi mà bạn đang mô tả: jsfiddle.net/5asbeatq
Felix Kling

2
Đừng đăng câu trả lời nếu nó không phải là một. Chỉnh sửa câu hỏi của bạn và đưa mã có liên quan vào câu hỏi.
Felix Kling

lãng phí 2 giờ, và cuối cùng đã nhận nó làm việc sử dụng validator.showErrors(JSON.parse(data)), thanks a lot sir ..
Mohammed Sufian

Tôi gặp lỗi này vì $ .each ("ul li", function (k, v) {...});
Cr1xus

17

có thể bạn quên thêm tham số dataType: 'json' trong $ .ajax của mình

$.ajax({
   type: "POST",
   dataType: "json",
   url: url,
   data: { get_member: id },
   success: function( response ) 
   { 
     //some action here
   },
   error: function( error )
   {
     alert( error );
   }
});

Điều đó đã làm điều đó với tôi. Cảm ơn!
Luis Rock
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.