0

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

4 回答 4

1

尝试这样的事情

改变 ?到 ?php

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

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

默认情况下禁用短标签。

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

于 2013-11-08T05:53:25.400 回答
0

尝试将 dataType: "html" 更改为 dataType: "text"。希望这会有所帮助。

于 2013-11-08T06:29:59.707 回答
0

dataType: "html"如果 URL 没有指定内容类型,则默认返回整个响应正文。鉴于您说这种行为不是您想要的行为,我假设您的 php 文件正在返回某种 JSON 字符串。如果这是真的,更改dataTypejson将允许脚本使用 php 输出,而不管响应的内容类型如何:

$(function(){
    var request6 = $.ajax({ 
        url: "indexDb.php", 
        async: true, 
        type: "POST", 
        data: {func: 2}, 
        dataType: "json" 
    }).done(function(data) { 
        alert(data);
    })//end success
});
于 2013-11-08T05:54:42.110 回答
0

请尝试

$.ajax({  
          type:"POST",  
          url:"indexDb.php",
          dataType:"html",
          data:{func: 2},
          cache:false,
          success:function(data)
          { 
              alert(data);
          }  
       });
于 2013-11-08T06:00:24.657 回答