无法使用ajax json类型访问php

时间:2014-05-24 16:36:39

标签: php android ajax json cordova

<html>
<head>
    <script src="http://code.jquery.com/jquery-1.9.0.js"></script>
    <script charset="utf&minus;8" type="text/javascript">
        function connect(e)
        {
            var term= {button:e};
            $.ajax({
            url:'http://mydomain.com/android/reply.php',
            type:'POST',
            data:term,
            dataType:'json',
            error:function(jqXHR,text_status,strError){
            alert("status:"+text_status+" | error:"+strError);},
            timeout:60000,
            success:function(data){
            $("#result").html("");
            for(var i in data){
            $("#result").append("<li>"+data[i]+"</li>");
            }
            }
            });
        }
    </script>
</head>
<body>
    <center><b>Bikes or Cars</b></center>
    <center><input onclick="connect(this.value)" type="button" value="cars" /></center>
    <center><input onclick="connect(this.value)" type="button" value="bikes" /></center>
    <center><b>Results</b></center>
    <ul id="result"></ul>
</body>
 </html>

我的php文件:

 <?php
 header("Access-Control-Allow-Origin: *");
 $choice =$_POST["button"];
 $cars = array("Honde", "BMW" , "Ferrari");
 $bikes = array("Ducaite", "Royal Enfield" , "Harley Davidson");
 if($choice == "cars") print json_encode($cars);
 else print json_encode($bikes);
 ?>

问题是每当我从我的localhost运行此代码一切都很好,但如果我在我的Android模拟器或我的设备中运行此代码我有一个警告框说“状态:错误|错误:禁止”可以有人解释这个我,我该如何解决这个问题。 我正在使用phonegap 2.9

1 个答案:

答案 0 :(得分:1)

删除type:'POST'然后尝试。我有同样的问题,当我删除类型时它解决了:来自ajax的POST。下面是我的ajax帖子片段。

$.ajax({

            dataType: "json",
            url: myurl,//link to ur webservice http://mydomain.com/android/reply.php
            data: sendForm,//data which you want to send
            success: function(data)
            {
              alert('success');
            }
            ,
            error: function()
            {
              alert('error');
            }
            ,
            complete: function()
            {
              alert('completed');
            }
          }
                );