这是我的问题
我正在尝试替换此结构:
PHP:
$mainContent = getContenu($_GET['rq']);
die($mainContent);
JS:
$('#contenu').html(data);
有了这个:
PHP:
$envoi['mainContent'] = getContenu($_GET['rq']);
die(json_encode($envoi));
JS:
$('#contenu').html(JSON.parse(data).mainContent);
使用第一个选项,一切正常。
会发生什么:在我的JS文件index.js
中,我上面写的代码片段就是这样的结构:
$(document).ready(function(){
(...)
$('.menu a').click(function(){
(...)
$.get('index.php',rq=' + rq, function(data){
//---->IT'S IN HERE<----//
});
});
});
getContenu()
函数只返回html或php文件的implode()
版本(取决于rq
)。
第二个选项(使用JSON)似乎一旦命中$.get
就退出JSON.parse()
函数。我尝试使用$('#contenu').html()
之外的解析函数,但var whatevs = JSON.parse(data)
以及var whatevs = JSON.parse(data).mainContent
或(data)['mainContent']
都会产生相同的结果。
如果我在alert
函数之前放置JSON.parse
,它会被调用,但是如果我把它放在它之后,它就不会调用它,这让我相信JSON.parse
1}}是问题。
我试图用一些随机字符串替换PHP部分中的getContenu
函数,看看它是否有效,但是没有任何事情发生。
感谢您阅读,
克里斯
P.S。这是一个学校项目,所以不使用JSON不是一个选项,因为老师要求 P.P.S.我在最新版本的Chrome上运行它,因此浏览器不是问题。
答案 0 :(得分:0)
好的,所以我不确切知道发生了什么。由于某种原因,它现在有效。我没有改变任何东西(我已经浏览了我的Ctrl + Z和Ctrl + Maj + Z直到看到我改变了但没有什么不同,只有一些警报和console.log(data)
@ ReijithRKrishnan建议......但现在它的工作也没有那条线。我无言以对......有时候IT充满了神秘感......