2

最初に、下手な英語ですみません

jquery/ajaxシステムのubuntuで作業しています

以下の私のコード:

index.html

...
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
</head>
<body>
<form name="stuSelForm" id="stuSelForm">
<table id="inputTable">
<tr><td colspan="3" align="center">Stu From</td></tr>
<tr>
<td>&nbsp;</td>
<td>St No : </td>
<td><input type="text" name="StNo" id="StNo" /></td>
</tr>
<tr>
<td></td>
<td>name : <br/> family : </td>
<td><input type="text" name="Fname" id="Fname" /><br/><input type="text" name="Lname" id="Lname" /></td>
</tr>
<tr>
<td colspan="3" align="right"><input type="submit" id="send" name="send" value="show" /></td>
</tr>
</table>
</form>
</body>
<script type="text/javascript" src="js/jscodes.js"></script>
...

js ファイル:

$(document).ready(function()
{
$('#stuSelForm').submit(function(event)
{
    var form = $(this);
    inputs = form.find("input");
    serializedData = form.serialize();

    inputs.attr("disabled","disabled");

    $.ajax({
        url:'process.php',
        type:'POST',
        data: serializedData,
        dataType:'text',
        cache: false,
        success : function(data,textStatus,jqXHR){ alert(data); },
        error : function(jqXHR,textStatus,errorThrown) { alert(textStatus+jqXHR.status+jqXHR.responseText+"..."); },
        complete : function(jqXHR,textStatus)
                        {
inputs.removeattr("disabled");
                        }
        });
    event.preventDefault();
});
});

および process.php :

<?php
header("Content-Type: text/html");
$StNo = $_POST['StNo'];
echo $_POST['StNo'];
?>

これですべて問題ありませんが、戻り値は StNo ではなく、process.php の内容全体です。

なぜこれが起こるのか、これはphp拡張機能のためか、私からの間違いか...

あなたの助けのためのtanx

4

2 に答える 2

0

ヘッダーの問題: jquery で記述しdataType: textますが、php で記述しheader("Content-Type: text/html"); 、get success に変更します: 次のように:

$.ajax({
    url:'process.php',
    type:'POST',
    data: serializedData,
    cache: false,
    success : function(data,textStatus,jqXHR){ alert(data); },
    error : function(jqXHR,textStatus,errorThrown) { alert(textStatus+jqXHR.status+jqXHR.responseText+"..."); },
    complete : function(jqXHR,textStatus){inputs.removeattr("disabled");}
    });

dataType:jquery のデフォルト設定はであり、この場合dataType:'html' は書き込む必要がないため、を削除しますdataType

于 2012-12-08T08:24:36.053 に答える