【问题标题】:send a variable to php with AJAX使用 AJAX 将变量发送到 php
【发布时间】:2011-10-03 10:22:03
【问题描述】:

如何在这段代码中将rowNumber 变量发送到dataSource php 文件?

function getData(dataSource, divID,rowNumber) 
{ 

if(XMLHttpRequestObject)
{
    var obj = document.getElementById(divID); 
    XMLHttpRequestObject.open("GET", dataSource); 
    XMLHttpRequestObject.onreadystatechange = function() 
        { 
            if (XMLHttpRequestObject.readyState == 4 && 
              XMLHttpRequestObject.status == 200) 
            { 
                obj.value = XMLHttpRequestObject.responseText; 
            } 
        } 

        XMLHttpRequestObject.send(null); 
    }
}

PHP 文件(数据源):

<?php
  //mysql connection
  $result = mysql_query( 'CALL view_polls(`rowNumber`);' );
  $row=mysql_fetch_array($result);
  echo $row['title'];
?>

【问题讨论】:

  • 看看 JQuery 框架...它让 AJAX 变得更简单:)

标签: php javascript ajax xmlhttprequest


【解决方案1】:

在 JavaScript 中:

XMLHttpRequestObject.open("GET", dataSource + '?rowNumber=' + rowNumber);

在 PHP 中:

$result = mysql_query( 'CALL view_polls(`' . $_GET['rowNumber'] . '`);' );

【讨论】:

  • 不要忘记清理查询并确保查询字符串 rowNumber 确实存在:if (isset($_GET['rowNumber']) &amp;&amp; is_numeric($_GET['rowNumber'])) { ... }!
  • 非常感谢@Sascha Galley
【解决方案2】:
function getData(dataSource, divID,rowNumber) 
{ 

if(XMLHttpRequestObject)
{
    var obj = document.getElementById(divID); 
    XMLHttpRequestObject.open("GET", dataSource + "?rownumber=" + rowNumber); 
    XMLHttpRequestObject.onreadystatechange = function() 
        { 
            if (XMLHttpRequestObject.readyState == 4 && 
              XMLHttpRequestObject.status == 200) 
            { 
                obj.value = XMLHttpRequestObject.responseText; 
            } 
        } 

        XMLHttpRequestObject.send(null); 
    }
}

PHP:

<?php
  if (isset($_GET['rownumber']) && is_numeric($_GET['rownumber'])) {
        $rowNumber = $_GET['rownumber'];
        //mysql connection
        $result = mysql_query( 'CALL view_polls(`' . $rowNumber . '`);' );
        $row=mysql_fetch_array($result);
        echo $row['title'];
  }
  else {
        echo "Error";
  }
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-30
    • 1970-01-01
    • 2015-09-30
    相关资源
    最近更新 更多