将Ajax Post发送到PHP文件时的网关超时

时间:2017-03-31 11:15:07

标签: php jquery mysql ajax

我遇到一个问题,如果我使用从Jquery Ajax reequest发送的参数运行某个PHP脚本,我会得到超时。但是,如果我只是运行这个没有参数的脚本,我就可以自己运行它。

Ajax请求所在的php文件是noteContent.php 的 noteContent.php

<script type="text/javascript">

    // Submit generalNote to the database

function submitNoteText()
{
    var noteid = <?php if(isset($_POST['noteid'])){ echo $_POST['noteid'];} ?>;
    var notetext = $("#ta1").val();

    var dataString = 'noteid1=' + noteid + '&notetext1=' + notetext;

    if(noteid == ''||notetext == '')
    {
        alert("NoteID or Text is blank");
    }
    else
    {   
        $.ajax({
            type: "POST",
            url: "submitNoteText.php",
            dataType: 'json',
            data: dataString,
            cache: false,
            success: function(result){
                alert("Success");
            }
        });
    }
    return false;
};

</script>

它试图运行的脚本 的 submitNoteText.php

<?php include 'connectionDetails.php'; ?>
<?php
if (isset($_POST['noteid1'], $_POST['notetext1'])) 
{
    var_dump($_POST['notetext1']);
    $noteid2 = $_POST['noteid1'];
    $notetext2 = $_POST['notetext1'];
    $stmt = "UPDATE Notes SET Note = '?' WHERE NoteID = ?";
    $params = array($noteid2, $notetext2);
    $stmt = sqlsrv_query($conn, $stmt, $params);
    if ($stmt === false) 
    {
        die( print_r(sqlsrv_errors(), true));
    }
}
else
{
    echo "No Data";
}
?>

他们都与一个包括 connectionDetails.php (之前从未返回错误):

<?php
$myServer = "Test";
$connectionInfo = array('Database' => 'Test', 'UID' => 'Test', 'PWD' => 'test');

//connection to the database
$conn = sqlsrv_connect($myServer, $connectionInfo)
  or die("Couldn't connect to SQL Server on $myServer"); 

//Test connection to server
// if ($conn) 
// {
//     echo "connection successful";    # code...
// }

?>

<?php

//Defining my queries
$getNotes = "SELECT NoteID, NoteName, Note FROM Notes ORDER BY NoteName ASC";
$getTemplateNotes = "SELECT TemplateNoteID, TemplateNoteName, TemplateNote FROM TemplateNotes ORDER BY TemplateNoteName ASC";
$getReplaceVariables = "SELECT ReplaceVariableID, ReplaceVariableName, ReplaceVariableNote FROM ReplaceVariables ORDER BY ReplaceVariableName ASC";

$resultNotes = sqlsrv_query($conn, $getNotes);
$resultTemplate = sqlsrv_query($conn, $getTemplateNotes);
$resultVariables = sqlsrv_query($conn, $getReplaceVariables);





if( $resultNotes === false) 
{
    die( print_r( sqlsrv_errors(), true) );
}
if( $resultTemplate === false) 
{
    die( print_r( sqlsrv_errors(), true) );
}

if( $resultVariables === false) 
{
    die( print_r( sqlsrv_errors(), true) );
}

?>

当我点击按钮运行请求时,我得到: enter image description here

要提交的所有文本都在参数中: enter image description here

1 个答案:

答案 0 :(得分:0)

Ajax数据参数应该是一个数组:

$.ajax({
    type: 'POST',
    url: "your urls",
    data: {
     id: youridval,
     anothervar: anothervalvalue
    },
    beforeSend: function() {

    },
    complete: function() {

    },
    success: function(_result) {

    }
});