Ajax调用不仅返回“数据:

时间:2013-11-08 05:46:55

标签: php jquery ajax

我正在尝试进行一个简单的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;          
}
?>

4 个答案:

答案 0 :(得分:1)

尝试这样的事情

改变?到?php

<?php
$value = $_POST['func'];

switch($value){
    case 2:
        echo "made it";
        break;
}
?>

默认情况下禁用短标记。

但是,要启用短标记,请在php.ini文件中启用名为short_open_tag的设置。

答案 1 :(得分:0)

如果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
});

答案 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”。希望这会有所帮助。