Javascript 试图通过jquery ajax函数将json对象发布到php
我对JQuery/Ajax有点陌生,我正试图通过JQuery Ajax函数发布一个JSON对象……我的PHP文件finder.PHP收到了这篇文章。Javascript 试图通过jquery ajax函数将json对象发布到php,javascript,php,jquery,ajax,json,Javascript,Php,Jquery,Ajax,Json,我对JQuery/Ajax有点陌生,我正试图通过JQuery Ajax函数发布一个JSON对象……我的PHP文件finder.PHP收到了这篇文章。 如果我发布一个变量,下面的代码可以工作,但是如果我尝试发布一个JSON对象,我会收到以下错误消息: “未捕获的语法错误:意外标记非法” 这是我的ajax函数 function swapContent(cv) { $("#myDiv").html('<img src="../.
如果我发布一个变量,下面的代码可以工作,但是如果我尝试发布一个JSON对象,我会收到以下错误消息: “未捕获的语法错误:意外标记非法” 这是我的ajax函数
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();
});
}
函数交换内容(cv){
$(“#myDiv”).html(“”).show();
var url=“../script/finder.php”
$.post(url,{contentVar:cv},函数(数据){
$(“#myDiv”).html(data.show();
});
}
下面是将变量(或首选json对象)发送到函数的链接
echo '<a href="#" onClick="return false" onmousedown="javascript:swapContent(\''.$json_obj.'\');">link name</a>';
echo';
如何更新它以接受json对象?前面我说过,我已经通过对json对象中的字符进行转义解决了这个问题,我将这些字符转义到js函数中,如下所示
$json_obj = htmlspecialchars(json_encode($obj_array), ENT_QUOTES, 'UTF-8');
但是,通过加密json字符串(在开始的php代码中),我不必转义字符,这会更好。这样做的另一个好处是,没有人会猜测传递给js函数的值是什么,我可以更自由地使用传递的值。。当然,我将在接收php代码时转义字符,如果您可以帮助的话,请不要这样内联JSON对象。它很可能有未替换的单引号,让您同时面临看似随机的bug和注入漏洞。您希望finder.php只回显json_obj本身(最好是json_encode()然后,
$.post
上的success函数应该围绕它构建其余的html,比如$(“#myDiv”).html(“”.show();`假设json_obj有一个名为“src”的节点,因为你把json放在HTML中,所以它应该是HTML编码的。对不起,伙计们,我不是一个很懂javascript的人,我没有完全理解你的答案。我有点明白你的意思,但还不完全明白。很抱歉让你握着我的手,但你能详细说明你的意思吗。。。我在那里回显链接。。。回音“”。。。这是将var或json对象发送到函数的初始链接,您是说我应该使用jquery而不是php来生成此链接吗?这是不可能的,因为链接是在php类中生成的