AJAX返回非突兀的页面

时间:2013-04-07 15:11:05

标签: javascript ajax

我有一个带有id或'display'的表单。它有一个值要发送,这是一个选择项目,我给了'服务'的ID。

我想将'services'的值发送到我在单独的php页面中创建的函数。该页面名为“functs.php”,函数名称称为“searchResults”。

'searchResults'功能有效,我知道。它查询数据库并输出8个单独的php echo语句。我已经运行了PHP函数并且知道它有效。我知道这些问题与我的javascript有关,因为,我不是最好的JavaScript,并且通常会回避它。

截至目前,代码没有做任何事情。我的表单有自己的动作发布到单独的PHP页面。

<form id="display" action="resultPage.php" method="POST">

我正在尝试使用javascript / ajax立即更新div的内容但是如果用户关闭了jscript,我希望表单可以发布到备用页面。这是我的jscript。

$(document).ready(function() {
$('#display').submit(function(e) {
var formData = $('#services');

$.ajax({
        type: "POST",
        url: functs.php,
        data: '$formData',
        datatype: 'json',
        success: function(data) {
            if (!data.success)
            {
        $.amwnd({
        title: 'Error!',
        content: data.message,
        buttons: ['ok'],
    closer: 'ok'
    });
    }
}
});

e.preventDefault();
return false;
});
});

PHP代码:

<?php

function searchResults()
{

 require 'db_config.php';

   $sql= "SQL CODE HERE"

$theStyle = <<<HERE
"height:100%;
width:70%;
margin:4% AUTO 0;
padding:1.75em;
font-size:1.25em;
border-radius:5em;
color:white;
background-color:#b72027;
;"
HERE;



   while ($row = mysql_fetch_array($result))
      {
    echo ("<div style = $theStyle>");
    echo ("<table>");
    echo ("<tr><td>" . $row["0"] . "</td></tr>");
    echo ("<tr><td>" . $row["1"] . "</td>");
       echo ("<tr><td>" . $row["2"] . ", " . $row["3"] . " " . $row["4"] . "</td></tr>");
       echo ("<tr><td>Phone: " . $row["5"] . "</td></tr>");
       echo ("<tr><td>"  .  "<a href=\"http://" . $row["6"] . "\">" . $row["6"] . "</a>"  .     "</td></tr>");
       echo ("<tr><td>" . $row["8"] . " " . $row["9"] . ", " . $row["10"] . "</td></tr>");
    echo ("<tr><td>" . $row["11"] . "</td></tr>");
       echo ("<tr><td></td></tr>");
       echo ("<tr><td></td></tr>");
       echo ("<tr><td>" . $row["7"] . "</td></tr>");
    echo ("</table>");
    echo ("</div>");
       echo ("<br />");

    }
}

?>

1 个答案:

答案 0 :(得分:1)

您的JS代码有几个问题。 PHP脚本名称必须是引号内的字符串,并且formData变量具有不必要的“$”。试试这个:

$(document).ready(function() {
$('#display').submit(function(e) {
e.preventDefault();
var formData = $('#display').serialize();

$.ajax({
        type: "POST",
        url: 'functs.php',
        data: formData,
        datatype: 'json',
        success: function(data) {
            if (!data.success)
            {
        $.amwnd({
        title: 'Error!',
        content: data.message,
        buttons: ['ok'],
    closer: 'ok'
    });
    }
}
});

});
});