【问题标题】:XML Request not working properlyXML 请求无法正常工作
【发布时间】:2014-04-21 18:46:36
【问题描述】:

我的 javascript 文件中有一个 XML 请求,它没有将我的变量正确地传输到 PHP,我不知道为什么。我可能会缺少某种参考库吗?

这是有问题的功能。我知道 str 变量里面有我想要的东西。我将旧的试用代码留在 cmets 中,以防你想看看我尝试了什么。

function PHP_Con(str)
{
var xmlhttp;
if (str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}

if(!xmlhttp)
{
alert("Fehler");
}
else
{

/*$.ajax({
type:"POST",
url:"dbConnection.php",
data:{"test" : "str"},
success:function()
{
alert("success");
}
});*/

alert(str);
xmlhttp.open("GET","dbConnection.php?test="+str,true);                       
// Requestheader senden
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
// Request senden
xmlhttp.send();

/*var json_string= JSON.stringify(str); // convert it into a json string. 
$.post('dbConnection.php' , {test : json_string },function(){
alert("success");
}); */

}
}

这是我对应的PHP代码:

$test = intval($_POST['test']);
echo $test;

另外,我知道 isset,但我试图让变量显示出来。当它不存在时,我宁愿得到一个错误,如果那样的话......

非常感谢。 :) 如果有更简单的方法可以做到这一点,我也会对此感兴趣。

但是到目前为止,我觉得我确实需要一个调用 JS 函数的表单,然后我的 JS 从用户输入中检索变量,然后将这些变量转到 PHP,以便可以根据我的数据库检查它们。 .. 这一切对我来说似乎都是正确的顺序,但我承认对于 JS 变量如何在 PHP 中显示以及 PHP 如何以一种通过 HTML 代码反映的方式响应......例如,我想用比较结果(用户输入对数据库内容)“回显”到 ap 中的一个跨度,但我不知道这是如何完成的......

【问题讨论】:

    标签: php ajax xml json request


    【解决方案1】:

    您正在发送 GET 请求,因此您必须使用 $_GET 而不是 $_POST

    $test = intval($_GET['test']);
    echo $test;
    

    POST 请求看起来像

    xmlhttp.open("POST","dbConnection.php",true);                       
    // Requestheader senden
    xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    // Request senden
    xmlhttp.send("test="+encodeURIComponent(str));   
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-03
      • 2018-07-13
      • 2017-04-30
      • 2015-09-16
      • 2014-10-20
      • 2020-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多