我正在尝试进行一个简单的ajax调用来测试我是否连接到php文件。我试图做一个db_connect,但是当没有返回任何内容时,我把它愚蠢到一个带有简单回声的空白php文件。但是,我的ajax函数中的alert()返回整个php页面。我看到了一个同样主题的问题,但是,我的php不包含html。因此,该解决方案将无法正常工作。任何有关我出错的建议都将不胜感激。
这是jquery:
$(function(){
var request6 = $.ajax({
url: "indexDb.php",
async: true,
type: "POST",
data: {func: 2},
dataType: "html"
}).success(function(data) {
alert(data);
})//end success
});
PHP:
<?
$value = $_POST['func'];
switch($value){
case 2:
echo "made it";
break;
}
?>
答案 0 :(得分:1)
尝试这样的事情
改变?到?php
<?php
$value = $_POST['func'];
switch($value){
case 2:
echo "made it";
break;
}
?>
默认情况下禁用短标记。
但是,要启用短标记,请在php.ini文件中启用名为short_open_tag的设置。
答案 1 :(得分:0)
dataType: "html"
默认返回整个响应正文。鉴于你说这种行为不你想要的行为,我假设你的php文件正在返回某种JSON字符串。如果这是真的,将dataType
更改为json
将允许脚本使用php输出,而不管响应的内容类型如何:
$(function(){
var request6 = $.ajax({
url: "indexDb.php",
async: true,
type: "POST",
data: {func: 2},
dataType: "json"
}).done(function(data) {
alert(data);
})//end success
});
答案 2 :(得分:0)
请尝试
$.ajax({
type:"POST",
url:"indexDb.php",
dataType:"html",
data:{func: 2},
cache:false,
success:function(data)
{
alert(data);
}
});
答案 3 :(得分:0)
尝试将dataType:“html”更改为dataType:“text”。希望这会有所帮助。