我正在尝试进行一个简单的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;
}
?>
尝试这样的事情
将 ? 更改为 ?php
<?php
$value = $_POST['func'];
switch($value){
case 2:
echo "made it";
break;
}
?>
默认情况下,短标记处于禁用状态。
但是,要启用短标记,请启用 php.ini 文件中称为 short_open_tag 的设置。
如果 URL 未指定内容类型,则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
});
请尝试使用
$.ajax({
type:"POST",
url:"indexDb.php",
dataType:"html",
data:{func: 2},
cache:false,
success:function(data)
{
alert(data);
}
});
尝试将数据类型:"html"更改为数据类型:"文本"。希望这会有所帮助。