Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 试图通过jquery ajax函数将json对象发布到php_Javascript_Php_Jquery_Ajax_Json - Fatal编程技术网

Javascript 试图通过jquery ajax函数将json对象发布到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="../.

我对JQuery/Ajax有点陌生,我正试图通过JQuery Ajax函数发布一个JSON对象……我的PHP文件finder.PHP收到了这篇文章。
如果我发布一个变量,下面的代码可以工作,但是如果我尝试发布一个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类中生成的