2015-01-26 3 views
0

Я немного новичок в JQuery/Ajax, я пытаюсь опубликовать объект JSON с помощью функции jQuery ajax ... сообщение получено по моему файлу PHP, finder.php.
ниже код работает, если я отправляю переменную, но если я пытаюсь отправить объект JSON, я получаю следующее сообщение об ошибке,пытается отправить объект json через jquery ajax function ... to php

"Uncaught SyntaxError: Unexpected token ILLEGAL"

вот моя функция Аякса,

function swapContent(cv) {        
    $("#myDiv").html('<img src="../../js/loader/bar_16x11.gif">').show(); 
    var url = "../../script/finder.php" 

    $.post(url,{contentVar:cv},function(data) { 
     $("#myDiv").html(data).show(); 
    }); 
} 

и вот ссылка отправка переменной (или предпочтительный объект JSON) функции

echo '<a href="#" onClick="return false" onmousedown="javascript:swapContent(\''.$json_obj.'\');">link name</a>'; 

как я обновить его, чтобы принять объект JSON?

+1

Если вы может помочь, не помещайте свой JSON-объект таким образом. У этого вполне может быть неизолированные одиночные кавычки, открывающие вас к кажущимся случайным ошибкам и к уязвимостям, связанным с инъекциями. – ssube

+0

Вы хотите, чтобы ваш finder.php отображал только сам json_obj (желательно json_encode() 'd, если вы не делали этого самостоятельно и, возможно, даже json-заголовок), а затем функция успеха на '$ .post' должна тогда html ("link name") .show(); 'предполагается, что json_obj имеет узел с именем 'src' –

+0

Поскольку вы помещаете json * в * HTML он должен быть закодирован html. – Musa

ответ

0

ранее я сказал, я бы решить проблему, избежать символов в объекте JSON, что я перенесу функцию JS, как это,

$json_obj = htmlspecialchars(json_encode($obj_array), ENT_QUOTES, 'UTF-8'); 

, но еще лучше с помощью шифрования JSon строки (в начальном php code), мне не нужно скрывать символы. дает дополнительное преимущество, когда никто не догадывается, какие значения передаются функции js, и я могу быть немного более либеральным, с какими значениями я прохожу. Конечно, я избежу символов в принимающем php-коде

Смежные вопросы