Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
dojo1.8-不确定如何使用dojo/request读取所选值并发布到php文件_Php_Mysql_Ajax_Dojo - Fatal编程技术网

dojo1.8-不确定如何使用dojo/request读取所选值并发布到php文件

dojo1.8-不确定如何使用dojo/request读取所选值并发布到php文件,php,mysql,ajax,dojo,Php,Mysql,Ajax,Dojo,嗨,我在获取发布的select节点的值时遇到问题,但什么也得不到。 我正在使用dojo/request。当我使用简单的ajax文件进行测试时,服务器上的getuser1.php正在工作 在请求行,数据值可能不正确 请告知。。。谢谢 以下是两个脚本:- main.php文件- require(["dojo/parser", "dojo/ready","dijit/form/Select", "dojo/request","dojo/on","dojo/domReady!"], f

嗨,我在获取发布的select节点的值时遇到问题,但什么也得不到。 我正在使用dojo/request。当我使用简单的ajax文件进行测试时,服务器上的getuser1.php正在工作

在请求行,数据值可能不正确

请告知。。。谢谢

以下是两个脚本:- main.php文件-

require(["dojo/parser", "dojo/ready","dijit/form/Select",
         "dojo/request","dojo/on","dojo/domReady!"],
function(parser, ready, Select, request, on){

    ready(function(){   

        console.debug('Rendering...');
        var selectX = new Select({
            name:'select_test',
            options:[
                {label:"<span class='NotinUse'><b>&nbsp&nbsp&nbsp. . .</b></span>", value:'0', selected:true},
                {label:"<span class='inUse'><b>&nbsp&nbspPeter Griffin</b></span>", value:'1'},
                {label:"<span class='inUse'><b>&nbsp&nbspLois Griffin</b></span>", value:'2'},
                {label:"<span class='inUse'><b>&nbsp&nbspJoseph Swanson</b></span>", value:'3'},
                {label:"<span class='inUse'><b>&nbsp&nbspGlenn Quagmire</b></span>", value:'4'},
            ], 
            style:{width:'150px'}
        },"select");

        on(formNode2, 'Change', function(evt){
            evt.stopPropagation();
            evt.preventDefault();

            request.post('getuser1.php',{   
                data:{select_test:this.value},
                timeout:2000
            }).then(function(response){
                dom.byId('line2').innerHTML=response;
            });
        });
    });
});
require([“dojo/parser”、“dojo/ready”、“dijit/form/Select”,
“dojo/request”、“dojo/on”、“dojo/domReady!”],
函数(解析器、就绪、选择、请求、打开){
就绪(函数(){
调试('Rendering…');
var selectX=新选择({
名称:'select_test',
选项:[
{标签:“  …”,值:“0”,所选值:true},
{标签:“  ;格里芬”,值:'1'},
{标签:“  ;格里芬”,值:'2'},
{标签:“ ;约瑟夫·斯旺森”,值:'3'},
{标签:“ 格伦泥潭”,值:'4'},
], 
样式:{宽度:'150px'}
},“选择”);
开启(formNode2,'更改',功能(evt){
evt.stopPropagation();
evt.preventDefault();
request.post('getuser1.php',{
数据:{select_test:this.value},
超时:2000
}).然后(功能(响应){
dom.byId('line2')。innerHTML=response;
});
});
});
});
getuser1.php文件:-

<?php 
$q=$_GET["q"];

$con = mysql_connect('localhost', 'root', '');
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("ajax_demo", $con);


$sql="SELECT * FROM user WHERE id = $q";

$result = mysql_query($sql);

// use stored function to return one result instead later. Write here after stored     procedure has been stored. 

echo "<table border='1'>
<tr>
<th width=100>Firstname</th>
<th width=100>Lastname</th>
<th width=100>Age</th>
<th width=100>Height</th>
<th width=100>Hometown</th>
<th width=100>Job</th>
</tr>";

while($row = mysql_fetch_array($result))
 {
  echo "<tr>";
  echo "<td>" . $row['FirstName'] . "</td>";
  echo "<td>" . $row['LastName'] . "</td>";
  echo "<td>" . $row['Age'] . "</td>";
  echo "<td>" . $row['Height'] . "</td>";
  echo "<td>" . $row['Hometown'] . "</td>";
  echo "<td>" . $row['Job'] . "</td>";
  echo "</tr>";
  }
    echo "</table>";

mysql_close($con);
?>

记得在开发时使用浏览器的错误控制台,它通常会通知您代码中的简单输入错误等

在这种情况下,有一些事情是错误的。您似乎混淆了
selectX
formNode2
。应该是:

on(selectX, 'Change', function(evt){ 
现在,如果您让它起作用,您会注意到,当您更改
selectX
的值时,控制台中会出现一个错误:

evt.stopPropagation is not a function
这是因为evt参数在这里实际上不是事件对象。从“选择元素”中,您只获得新值,而不是事件。将其更改为类似这样的内容,您应该可以在控制台中看到我的意思:

on(selectX, 'Change', function( newValue ){
    console.debug('The new value is', newValue);
    //evt.stopPropagation();
    //evt.preventDefault();

我做了一些更改,使其在JSFIDLE中工作,但它应该给您一个想法:

您好,谢谢,但是,我无法生成输出。如果不使用该开关,我可以插入“data:{q:2}”,正如您在getuser1.php中看到的“$q=$\u GET[“q”];”。那么有什么不对呢?请告知。谢谢你advance@user1739825您需要确定您的PHP脚本还是Javascript是问题所在。1) Javascript是否向服务器发出请求(使用firebug检查)?2) 发生这种情况时,服务器的响应是什么(请与firebug联系)?3) 是否调用了
函数(响应){…}
函数?(在那里放一个console.debug语句并与firebug进行检查。)您的问题非常广泛——正如我指出的,您粘贴的代码中有几个错误。你需要自己努力找出问题所在。如果我用console.debug(responses)输入“data('q':2)”,结果是:-Firstname Lastname Age。我可以看到“request.post”可以调用getuser1.php,但似乎无法处理php脚本。我注意到main.php中的“Post”和getuser1.php中的“Get”。我将更改以获取这两个文件。但它仍然不起作用