Javascript 用Ajax调用页面PHP
我在调用PHP脚本时遇到一些困难:Javascript 用Ajax调用页面PHP,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我在调用PHP脚本时遇到一些困难: $("#tata").click(function(){ $.ajax({ url : 'http://localhost/joomla/modules/mod_visitor/helper.php' , type : 'GET' , success: function(data) { alert(data); }, error : fun
$("#tata").click(function(){
$.ajax({
url : 'http://localhost/joomla/modules/mod_visitor/helper.php' ,
type : 'GET' ,
success: function(data) {
alert(data);
},
error : function(resultat, statut, erreur){
console.log("no")
}
});
});
但我的警报是空的。。。我确信URL是正确的,因为如果我在PHP文件中添加HTML代码,它会出现在我的警报中
我确信我的PHP代码可以正常工作
PHP文件:
echo "lalalala";
$getData = new mod_visitor();
$writeData = new writeData();
$urlPart1 = $_SERVER['HTTP_HOST'];
$urlPart2 = $_SERVER['REQUEST_URI'];
$pageEnCours = $urlPart1 .= $urlPart2;
$getData->get_ip();
$getData->LookupIP($GLOBALS['domain']);
$getData->ValidateIP($GLOBALS['domain']);
if ($GLOBALS['domain'] && $pageEnCours != preg_match("#localhost/joomla/$#", $pageEnCours)) {
$GLOBALS['domain'] = trim($GLOBALS['domain']);
if ($getData->ValidateIP($GLOBALS['domain'])) {
echo "cc";
$result = $getData->LookupIP($GLOBALS['domain']);
$writeData->write_domain($result);
} else {
echo "erreur";
$writeData->write_error();
};
} else {
echo "je ne rentre pas dans la boucle";
};
echo $pageEnCours;
echo $GLOBALS['domain'];
将数据类型解析为“json”
将
数据类型:“json”
添加到javascript
$.ajax({
url : 'http://localhost/joomla/modules/mod_visitor/helper.php' ,
type : 'GET' ,
dataType: 'json',
success: function(data) {
alert(data);
},
error : function(resultat, statut, erreur){
console.log("no")
}
并在php中作为JSON返回
<?php
echo json_encode('lalala');
?>
将数据类型解析为“json”
将
数据类型:“json”
添加到javascript
$.ajax({
url : 'http://localhost/joomla/modules/mod_visitor/helper.php' ,
type : 'GET' ,
dataType: 'json',
success: function(data) {
alert(data);
},
error : function(resultat, statut, erreur){
console.log("no")
}
并在php中作为JSON返回
<?php
echo json_encode('lalala');
?>
您的phpfile中有php标记吗?类似“是的,我有php标记”的内容。你检查过错误日志了吗?可能缺少一些包含项?您的phpfile中有php标记吗?类似“是的,我有php标记”的内容。你检查过错误日志了吗?可能有遗漏?但回音下的代码没有被解释。。。为什么?因为
echo
结束AJAX调用并将echo的东西返回到客户端,但我的目标是执行代码,echo只是用于测试,当我取下它时,我的脚本没有执行(通常我的脚本将数据插入日志文件)用于测试,您可以使用浏览器的控制台(网络选项卡)查看响应。创建一个默认为false的变量,如果一切顺利,则为trueecho
将该变量添加到客户端代码中,您可以看到它是真是假。嗯,这是第一次,我听说php脚本中只有一个echo(奇怪为什么多年来我的脚本和ajaxcalls都使用几个echo执行)。也许这是joomla的一些非常特殊的行为,我不知道。我也不知道为什么要将数据类型更改为json,因为问题中根本没有json。因为ajax调用的目的是生成输出并使用success分支中的变量数据执行一些代码。如果没有指定数据类型,将猜测响应。因此,响应应该会产生一个长字符串,但echo下的代码不会被解释。。。为什么?因为echo
结束AJAX调用并将echo的东西返回到客户端,但我的目标是执行代码,echo只是用于测试,当我取下它时,我的脚本没有执行(通常我的脚本将数据插入日志文件)用于测试,您可以使用浏览器的控制台(网络选项卡)查看响应。创建一个默认为false的变量,如果一切顺利,则为trueecho
将该变量添加到客户端代码中,您可以看到它是真是假。嗯,这是第一次,我听说php脚本中只有一个echo(奇怪为什么多年来我的脚本和ajaxcalls都使用几个echo执行)。也许这是joomla的一些非常特殊的行为,我不知道。我也不知道为什么要将数据类型更改为json,因为问题中根本没有json。因为ajax调用的目的是生成输出并使用success分支中的变量数据执行一些代码。如果没有指定数据类型,将猜测响应。因此,响应应该产生一个长字符串