Цитата:
Есть на форуме баг при вставке кода, не только area некорректно, но и в юникоде тоже баги. Если же все нормально с самим объектом, то проблем нет: <html> <head> <meta charset="utf-8"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> </head> <body> <div id="outt"></div> <script> var result = { "message":"\u0412\u0441\u0435 \u0445\u043e\u0440\u043e\u0448\u043e", "realty":{ "area":[ "5","123","30 \u0421\u043e\u0442\u043e\u043a","8 \u0421\u043e\u0442\u043e\u043a","70","64","144" ], "price":[ "5","123","14500000","1300000","12800000","9800000 ","2340560" ], "address":[ "5","123","\u0411\u0430\u0440\u044b\u0431\u0438\u043d\u043e, \u0443\u043b. \u0410\u043a\u0430\u0434\u0435\u043c\u0438\u0447\u0435\u0441\u043a\u0430\u044f", "\u041e\u043b\u044c\u0433\u0438\u043d\u043e","\u041b\u0443\u0433\u0430 \u043d\u0441\u043a\u0430\u044f \u0434.4","\u0421\u043e\u0440\u043d\u0435\u0447\u043d\u0430\u044f 4", "\u041a\u043e\u043d\u043e\u0431\u0435\u0435\u0432\u043e, \u0420\u044f\u0437\u0430\u043d\u0441\u043a\u0430\u044f \u043e\u0431\u043b\u0430\u0441\u0442\u044c, \u0428\u0430\u0442\u0441\u043a\u0438\u0439 \u0440\u0430\u0439\u043e\u043d" ], "larea":[ "5","123","240","140","56","45","100" ], "floor":[ "5","123","2","2","9","4","" ], "content":[ "5","123","\u041a\u043e\u0442\u0442\u0435\u0434\u0436\u00a0\u041a\u043e\u0442\u0442\u0435\u0434\u0436\u00a0\u041a\u043e\u0442\u0442\u0435\u0434\u0436\u00a0\u041a\u043e\u0442\u0442\u0435\u0434\u0436", " \u0423\u0447\u0430\u0441\u0442\u043e\u043a \u0441 \u0434\u043e\u043c\u043e\u043c\u00a0\u0423\u0447\u0430\u0441\u0442\u043e\u043a \u0441 \u0434\u043e\u043c\u043e\u043c", "\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u00a03\u0445 \u043a\u043e\u043c\u043d\u0430\u0442\u043d\u043e\u0439 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b", "\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\ u00a02\u0445 \u043a\u043e\u043c\u043d\u0430\u0442\u043d\u043e\u0439 \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u044b", "\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0434\u043e\u043c\u0430" ],"title":[ "555","123","\u041a\u043e\u0442\u0442\u0435\u0434\u0436","\u0423\u0447\u0430\u0441\u0442\u043e\u043a \u0441 \u0434\u043e\u043c\u043e\u043c", "3\u0445 \u043a\u043e\u043c\u043d\u0430\u0442\u043d\u0430\u044f \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430", "2\u0445\u043a\u043e\u043c\u043d\u0430\u0442\u043d\u0430\u044f \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430", "\u0417\u0430\u0433\u043e\u0440\u043e\u0434\u043d\u044b\u0439 \u0434\u043e\u043c" ],"link":[ "https:\/\/ka4an.ru\/realty\/555\/", "https:\/\/ka4an.ru\/realty\/123\/", "https:\/\/ka4an.ru\/realty\/kottedzh\/", "https:\/\/ka4an.ru\/realty\/uchastok-s-domom\/", "https:\/\/ka4an.ru\/realty\/3x-komnatnaya-kvartira\/", "https:\/\/ka4an.ru\/realty\/2x-komnatnaya-kvartira\/", "https:\/\/ka4an.ru\/realty\/zagorodnyj-dom\/" ] } }; jQuery('#outt').append(function() { var res = ''; for(var i = 0; i < result.realty.area.length; i++) res += '<div>' + result.realty.link[i] + ' ' + result.realty.title[i] + '</div>'; return res; }); </script> </body> </html> |
Начал пошагово изучать передачу и выводить ее пошагово
сначала result потом result.realty и так далее... нашел, на каком этапе произошла ошибка и добавив условие в обработчик, заставил код работать. Скажите пожалуйста, поддерживает ли передачу файла jQuery.ajax просто делаю следующий шаг добавив в форму input с type="files" |
Цитата:
contentType: false processData: false Данные формы передать можно двумя способами. Первый это непосредственно указав саму форму объекту FormData: data: new FormData(this) - где this, это форма. Но такая передача имеет один минус, даже если не будет выбран файл для загрузки, тем не менее на сервере массив $_FILES будет указывать на загруженный с ошибкой файл - "файл не загружен". А так как ошибки загрузки нужно обязательно проверять (проверка наличия только имени файла не дает картины полной, ибо файл может быть загружен не полностью), то возникает неоднозначность, хотя можно проверять и наличие имени для выяснения. Второй способ, это добавлять поля формы в объект FormData его методами в цикле/непосредственно, при этом поле file добавлять только в том случае, если его свойство value равно true (не пустое, файл выбран). |
добавил 3 строчки
1. Код:
data: new FormData(this) Код:
data: {name:name, area:area, address:address, larea:larea, floor:floor, price:price, content:content, photo:photo} Код:
contentType: false Код:
processData: false |
Цитата:
Цитата:
jQuery(".buttonadd").bind("click", function() { а jQuery("селектор формы").submit(function(e) { e.preventDefault(); jQuery.ajax({ url: "add_db.php", type: "POST", data: new FormData(this), contentType: false, processData: false, dataType: "json", success: function(result) { //..... } }); }); А вы просто клеите себе то, что пишут, а что у вас в реальности бог его знает, значит надо сперва получить форму, а затем ею оперировать. |
Часовой пояс GMT +3, время: 09:41. |