Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.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/1/php/268.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
Javascript 无法使用php运行jquery-ajax_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 无法使用php运行jquery-ajax

Javascript 无法使用php运行jquery-ajax,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,Welcome.php 我试图在php文件中运行jquery-ajax,但代码不起作用。其次,只有第一个警报函数起作用。在$ajax函数中使用alert时,两个alert都会停止工作Jquery ajax post数据应为JSON格式,因此对于您来说: var Sdata = {"role_name":role_name}; $.ajax( { type:"post", url:"createuser.php",

Welcome.php

我试图在php文件中运行jquery-ajax,但代码不起作用。其次,只有第一个警报函数起作用。在$ajax函数中使用alert时,两个alert都会停止工作

Jquery ajax post数据应为JSON格式,因此对于您来说:

var Sdata = {"role_name":role_name};
$.ajax(
     {                       
       type:"post",
       url:"createuser.php",
       data: Sdata,
       success:function(data){
       $("#info").html(data);
     }
});

这对我来说确实有效,我将角色选择框设置为静态,因为我没有数据库中的数据

<script src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
         $("#role").on("change",function(){

               var role_name = $(this).val();

               $.ajax(
               {                       
                   type:"post",
                   url:"createuser.php",
                   data:"role_name="+role_name,
                   datatype : 'json',
                   encode : true,
                   success:function(data){
                      data = JSON.parse(data) ;
                      $("#info").html(data);

                   }

               });

         });
    });

</script>  
<div id="info"></div>
<form method="POST">
    <h4 class='w3-text-indigo'>Admin please select role to download documents.</h4>
    <select id='role' name='role_name[]' class='w3-input w3-light-grey' style='width:90%'>" . "
    <option value='select Role'>Select Role</option>
    "; 
    <option value="User">user</option>
    <option value="Tester">Tester</option>
    <option value="Developer">Dev</option>
    <option value="Admin">Admin</option>
</form>
然后是php站点

<?php #fetching table for selected role by admin 



if (isset($_POST['role_name'])) {
    echo json_encode($_POST['role_name']);
}
?>

请使用以下数据:{role\u name:+role\u name}而不是数据:role\u name=+role\u name,

是否可以更新警报$role.val;使用警报$this.val;检查你的代码是否正常,firebug或其他什么告诉你了吗?请查看浏览器控制台以查看实际错误。很可能你不知道js控制台在哪里,因为你没有正确传递数据。请尝试以下数据:{role\u name:role\u name},不,它不必是jsonWell,它应该是jsonWell。根据文档,这是使用AJAX jquery发送数据的首选方式。实际上,您正在将一个普通对象传递给jquery,并使用JSON样式表示法声明。您可以简单地如下声明它:var obj=new Object;obj.role_name='role';jQuery也接受数组和字符串作为数据。在我所看到的文档中,没有任何地方明确建议使用使用JSON声明的普通对象而不是替代对象。声明JSON格式是推荐的方法是误导的。代码工作正常谢谢你的努力,但我做的愚蠢的事情是我没有关闭select标记echo。这就是我的数据没有打印出来的原因。
<?php #fetching table for selected role by admin 



if (isset($_POST['role_name'])) {
    echo json_encode($_POST['role_name']);
}
?>