这是我的问题
我正在尝试替换这个结构:
-
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
就是问题所在。
我试着用一些随机字符串替换PHP部分中的getContenu
函数,只是想看看它是否有效,但也没有任何结果。
感谢阅读我的文章,
Chris
第页。S.这是一个学校项目,所以不使用JSON不是老师要求的选项附言:我在最新版本的Chrome上运行它,所以浏览器不是问题。
好吧,所以我不知道到底发生了什么。出于某种原因,它现在起作用了。我什么都没改(我浏览了我的Ctrl+Z和Ctrl+Maj+Z,看看我改了什么,但没有什么不同,只是一些警报和@ReijithRKrishnan建议的console.log(data)
……但现在没有这行也能用。我无言以对……有时它太神秘了……