2010-07-08 3 views
0

j'ai problème suivantJquery POST avec la même demande fonctionne pas

$("#btnsave").click(function() { 
    $.post('svld.php', { 
     'fnd': $('#fnd').attr("value") 
    }, function (data) { 
     alert(data); 
    }, 'json'); 
} 

slvd.php

header('Content-type: application/json'); 

    var_dump(json_encode($_POST)); 

à la demande i voir la prochaine

fnd http://ya.ru 

et ont une grande réponse

string(24) "{"fnd":"http:\/\/ya.ru"}" 

mais alerte (données) ne runique

si je fais même demande dans le dossier parse.php dans le même dossier

if($_POST['fnd']){ 

header('Content-type: application/json'); 
echo json_encode($cntTags->returnArrayTags()); 
} 

tout travail parfait idée ce qu'il peut être?

liste d'en-tête

Date Thu, 08 Jul 2010 12:16:02 GMT 
Server Apache/2.2.14 (Win32) PHP/5.3.0 
X-Powered-By PHP/5.3.0 
Content-Length 38 
Keep-Alive timeout=5, max=99 
Connection Keep-Alive 
Content-Type application/json 
Host localhost 
User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 
Accept application/json, text/javascript, */* 
Accept-Language ru,en-us;q=0.7,en;q=0.3 
Accept-Encoding gzip,deflate 
Accept-Charset windows-1251,utf-8;q=0.7,*;q=0.7 
Keep-Alive 115 
Connection keep-alive 
Content-Type application/x-www-form-urlencoded; charset=UTF-8 
X-Requested-With XMLHttpRequest 
Referer http://localhost/tz/ 
Content-Length 22 
Cookie spylog_test=1 
+0

Que voulez-vous dire par * alerte (données) ne fonctionne pas *? Cela ne montre-t-il rien dans l'alerte ou n'est-il même pas exécuté? –

+0

Qu'est-ce que "Заголовки запросапоказать исходный код" et que fait-il dans les en-têtes? Et le rappel ne sera pas exécuté si la demande a échoué ou si le format de réponse n'est pas JSON. –

Répondre

1
Content-Type application/json Заголовки запросапоказать исходный код 

semble étranger à moi. Cela ressemble à un échec de jeu de caractères.

essayer

header('Content-type: application/json; charset=UTF-8'); 
+0

Mais dans le jeu de caractères j'ai utf-8 et message seulement eng? ou vous voulez dire autre chose? – alexandr

+0

quand j'ai essayé charset mais n'a pas produit de résultats mais tout était lisse merci – alexandr

+0

Ne semble pas être un type de contenu valide quel que soit le jeu de caractères. Il devrait simplement être 'application/json' ou' text/x-json' (pas sûr de la différence). –

2

Le problème est que votre requête HTTP retourne cette chaîne:

string(24) "{"fnd":"http:\/\/ya.ru"}" 

Ce qui se passe est que jQuery tente d'analyser cela, mais il échoue parce que ce n'est pas un JSON valide chaîne.

Essayez d'utiliser echo au lieu de var_dump:

echo json_encode($_POST); 

var_dump() sorties d'autres informations que vous n'avez pas besoin, et qui bousiller l'analyse JSON jQuery.

+0

echo json_encode ($ _ POST); il a été résolu problème merci j'ai passé 2:00 h sur ce) merci Luca Matteis encore !!! – alexandr