TypeError Tidak Tertangkap: Tidak dapat menggunakan operator 'dalam' untuk mencari 'panjang' dalam


101

TypeError Tidak Tertangkap: Tidak dapat menggunakan operator 'dalam' untuk mencari 'panjang' dalam "

Ini adalah kesalahan yang saya terima ketika saya mencoba melakukan a $.eachke objek JSON ini:

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

Saya juga mencoba melakukan hal yang sama dengan stringify, tetapi saya menerima kesalahan yang sama:

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

Jika saya menghapus parameter ___DDSESSIONID\\u003d06CBEC9D1A53616EFF703A8C71FBC2B4%3A%2FMobilTestdari objek, $ .each berfungsi dengan baik.

Mengapa ini bisa terjadi?


4
Harap format kode Anda, tidak mungkin membacanya seperti ini. Anda dapat menggunakan {}tombol editor teks, atau membuat indentasi setiap baris kode 4 spasi.
Sidd

Jawaban:


237

The inOperator hanya bekerja pada objek. Anda menggunakannya pada string. Pastikan nilai Anda adalah objek sebelum Anda menggunakan $.each. Dalam kasus khusus ini, Anda harus mengurai JSON :

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

Felix, sebelum $ .each Saya memiliki JSON.parse, kesalahan muncul ketika dalam pengiriman kunci memiliki nilai -> "codParameters? ___ DDSESSIONID \ u003d14EA4721A904D6DD71591156996E29F7% 3A% 2FMobilTest".
Iván Alberto Fontalvo Salgado

Silakan kirim kode Anda, saya tidak bisa melaporkan kesalahan yang Anda jelaskan: jsfiddle.net/5asbeatq
Felix Kling

2
Jangan memposting jawaban jika bukan jawaban. Edit pertanyaan Anda dan sertakan kode yang relevan dalam pertanyaan.
Felix Kling

terbuang 2 jam, dan akhirnya berhasil menggunakan validator.showErrors(JSON.parse(data)), terima kasih banyak Pak ..
Mohammed Sufian

Saya mendapatkan kesalahan ini untuk $ .each ("ul li", function (k, v) {...});
Cr1xus

18

mungkin Anda lupa menambahkan parameter dataType: 'json' di $ .ajax Anda

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

Itu berhasil padaku. Terima kasih!
Luis Rock
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.