繁体   English   中英

从PHP发送的jQuery数据格式不正确?

[英]jQuery data sent from PHP is not the correct format?

我正在使用jQuery将部件号从一个php文件发送到另一个。 零件号在目标php文件中正确接收,但是当我尝试使用它时,它不起作用。

这是一件奇怪的事情:要进行测试,当我使用$ mpn = STA-12(或table2中存在的任何其他值)时,在目标php文件中,建立了连接并提取了相关数据,但当相同数据时被获取,它不起作用

这是目标PHP文件:

<?php

$row['mpn'] = $_GET['q'];


include("order/connection.php");    



echo "mpn is here : ".$row['mpn']; // It displays STA-12 but doesn't data get fetched!

$mpn=$row['mpn'];


//$mpn="STA-12"; // *** When I actually put this line in, it all works ***

$stmt = $pd->prepare("SELECT * FROM table2 WHERE part_number =  :part_number " );

//$stmt->execute(array());

$stmt->execute(array(':part_number' => $mpn));

$row = $stmt->fetch(PDO::FETCH_BOTH);
 //... rest of the code
 ?>

从W3复制的jQuery脚本:

<script>
function showUser(str) {
if (str == "") {
    document.getElementById("txtHint").innerHTML = "";
    return;
} else { 
    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 (this.readyState == 4 && this.status == 200) {
            document.getElementById("txtHint").innerHTML =    this.responseText;
        }
    };
    xmlhttp.open("GET","serv.reply3.3.php?q="+str,true);
    xmlhttp.send();
}
}

这是从哪里调用的:

<form>
<select name="users" onchange="showUser(this.value)">
<option value="">Choose</option>
<option value=" <?php echo $row["mpn"]; ?> ">items</option>

</select>
</form>

问题终于解决了。 由于代码是从另一个示例复制而来的,因此发送过来的jQuery变量包含一些EXTRA信息,当ECHO出现时,这些信息不会显示。

echo“ mpn在这里:”。$ row ['mpn']; 显示STA-12,实际上包含'string(6)“ STA-12”',它是通过执行以下操作发现的:var_dump($ row ['mpn'])。 这让我头好几天了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM