Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   разбор приходящих данных после post запроса (https://javascript.ru/forum/jquery/11491-razbor-prikhodyashhikh-dannykh-posle-post-zaprosa.html)

FRIE 26.08.2010 14:05

разбор приходящих данных после post запроса
 
вделаю такой запрос
$.post('index.php?action=cp&newcpadd=true', str, function(data) {
 alert(data); 
  });


нужно из полученного html выдернуть значение из дива #dannie

пробовал в php запихнуть json и тут распарсить
$.post('index.php?action=cp&newcpadd=true', str, function(data) {
 alert(data.cpid);
  },"json");

но если добавляю в конце ,"json" то полсе запроса он чето ничего не делает((( даже если перед alert(data.cpid); я поставлю alert('ok'); то он мне ok не выводит.

как разобрать "data" чтобы получить значение из дива dannie?
или че я делаю не так когда делаю с json?

sysya 26.08.2010 15:34

может так надо
var d = data.find('#dannie');
Что такое cpid?

FRIE 26.08.2010 15:46

Цитата:

Сообщение от sysya (Сообщение 68750)
может так надо
var d = data.find('#dannie');
Что такое cpid?

nfr пробовал =)) пишет data.find is not a function


cpid это {cpid:123} типо json

sysya 26.08.2010 16:13

var d = data.find('#dannie');
Если вы принимаете html

для json:
var json = eval("(" + data + ")");

FRIE 26.08.2010 17:17

это я понимаю, протсо вы меня не так поняли


если я делаю так

$.post('index.php?action=cpchangerange&changerange=true&newcpadd=true', str, function(data) {
var json = eval("(" + data + ")");
alert(json.cpid);
  },"json");


то никакого алерта я не получаю

я подумал может сделать вот так

$.post('index.php?action=cp&newcpadd=true', str, function(data) {
вот тут разобрать data и получить значение дива #dannie
  });


мне подойдет любой вариант, почему с json не работает я не понимаю, раньше я так делал и работало, но меня и устроил бы второй вариант но как его сделать хз

sysya 26.08.2010 20:08

ответ скрипта такой {cpid:123} а если сделать так {"cpid":"123"}

FRIE 27.08.2010 10:33

прошу прощения просто кавычки забыл написать

а ответ от сервера такой:

<div id='dannie'>
{"cpid":"160"}
</div>

FRIE 27.08.2010 10:34

текст js такой

var str = $('#formzakaz').serialize();
  $.post('index.php?action=cpchangerange&changerange=true&newcpadd=true', str, function(data) {
var json = eval("(" + data + ")");
alert(json.cpid);
  },"json");

sysya 27.08.2010 10:46

Это попытка комбинировать ответ серва :D
<div id='dannie'>
{"cpid":"160"}
</div>
Выберите что то одно либо html либо json

Под такой js, такой ответ: {"cpid":"160"}

FRIE 27.08.2010 11:48

нужно чтобы в ответе было только {"cpid":"160"} ?


Часовой пояс GMT +3, время: 00:24.