JavaScript调用PHP WebService

时间:2014-02-24 22:38:14

标签: javascript php jquery

我只是尝试使用javascript构建移动应用程序。此应用程序需要连接到SQL Server。我已经创建了javascript和php文件,但每当我尝试调用该函数时,它都没有给我任何结果。这是javascript函数:

function getvoucher()
{

    var result = jQuery.ajax({
    type: "GET",
    url: aurl,
    data: "tag=getvoucher"
    async: false
    }).responseText;
    if(result)
    {
     var obj = jQuery.parseJSON(result);
     if(obj.success == 1)
     {
             var voucher=obj.name;
             document.write(voucher);
     }
    }
}

这是我的phpscript:

<?php
include("../includes/config.php");

if(isset($_REQUEST['tag']) && ($_REQUEST['tag']=='getvoucher'))
{
$success=0;
$query=mysql_query("select code from tbl_voucher")or die ("query issue");
#if(mysql_num_rows($query) > 0)
#        {
             if($query)
                {

                        $success=1;
                        $code=$row['code'];
                 }


#        }

$jsondata = array('tag'=>"getvoucher",'success'=>$success, 'code'=>$code);
echo json_encode($jsondata);
if($query){mysql_free_result($query);}
mysql_close($con);
die;
}
>?

php与sql的连接正在运行,因为我已经在其他脚本中取得了成功。并且tbl_voucher和列代码已经存在。

由于

2 个答案:

答案 0 :(得分:1)

也许PHP脚本中的最后一个die可能搞乱了。松开它。

$jsondata = array( 'tag '=> 'getvoucher','success' => $success, 'code' => $code);
echo json_encode( $jsondata );
if( $query ){ mysql_free_result( $query ); }
mysql_close( $con );
die;

顺便说一下,你在这里错过了一个昏迷

data: "tag=getvoucher"

另外,你的ajax电话看起来有点紧张。

var result = jQuery.ajax({
    type: "GET",
    url: aurl,
    data: "tag=getvoucher"
    async: false
}).responseText;
if ( result )
{
    var obj = jQuery.parseJSON( result );
    if(obj.success == 1)
    {
        var voucher=obj.name;
        document.write( voucher );
    }
}

相反,试试这个

$.ajax({

    type: "GET",
    url: aurl,
    data: "tag=getvoucher",
    async: false,
    success: function( object ) {
        document.write( object.name );
    }

});

答案 1 :(得分:0)

如果您使用谷歌浏览器并运行网页/脚本,请按F12并查看network =&gt; XHR。 然后,您可以查看提交的内容,甚至可以打开结果页面。

通过这种方式,您可以查看您的参数是否已通过,并且您可以看到返回的内容。 如果没有通过,你需要在发送方修复它。 如果发送并返回数据,则表示接收方错误: - )