不能通过$ .ajax函数传递$ _POST

时间:2015-07-31 13:09:11

标签: php jquery ajax

我正在尝试将我的网站放在互联网上,但我遇到了ajax的问题​​所以我试图创建一个简单的功能来测试它:
这是我的jQuery函数:

function test(){
    $.ajax({
        async:true,
        type:"POST",
        url:"controller/test.php",
        data:"order=testingConnectionToServer",
        success:function(result){
                alert(result);
        },
        error:function(xhr,msgError){
            alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
            alert("responseText: "+xhr.responseText);
        }
    }); 

}

我在页面加载时调用此函数 这是我在test.php中的PHP代码:

<?php
echo 'test ok: $_POST[\'order\'] = '.$_POST['order'];
?>

但这是我得到的结果:
enter image description here

注意这个功能在localhost上运行良好但是当我把它放在互联网上时它不起作用!! 这是控制台告诉我的内容:
enter image description here

2 个答案:

答案 0 :(得分:2)

我认为,您有$.ajaxSetup次调用,它会覆盖contentType键的默认值。

将正确contentType传递给$.ajax来电。

application/x-www-form-urlencoded var=1&var2=2数据格式。

答案 1 :(得分:0)

您需要在数据对象中放置大括号{}。这是更新后的代码。我认为这个适合你。如果返回json或任何其他交换格式,则需要定义dataType。

function test(){
$.ajax({
    async:true,
    type:"POST",
    dataType : 'json',
    url:"controller/test.php",
    data:{order : 'Your text'},
    success:function(result){
            alert(result);
    },
    error:function(xhr,msgError){
        alert("readyState: "+xhr.readyState+"\nstatus: "+xhr.status);
        alert("responseText: "+xhr.responseText);
    }
}); 

 }