Ajax不会从php文件中检索文件

时间:2015-01-13 00:22:24

标签: javascript php jquery ajax

大家好,当我添加一个console.log时,这个脚本运行正常,但是当我用$ .ajax()函数替换console.log时,它不会给我从php文件返回的结果ajax函数我用过我的其他项目,但我似乎无法找出为什么它不会在这个片段上工作

这是我的js代码:

     $(document).ready(function(){

        $("#qs").find(".chs").each(function(i,obj){
             $(this).addClass("chs"+i);

             $(".chs"+i).on("click",function(){
                var s = $(this).data("lvs"),carrier= {"vars":s};

            $.ajax({
               url: aScript.php,
               type: "POST",
               data: carrier,
               dataType: "json"
                    success: function(data) { 
                        console.log(data) }
                });
            });
        });

  });

我的php文件看起来像这样

<?php
$json = $_POST['carrier'];
$data = json_decode($json);
$d = $data->vars;
echo $d;
?>
<input type="hidden" id="ss" value="<?=$d?>" />

有人可以为我查看这个文件因为我似乎无法找到什么错误请帮我找出这个脚本的错误

2 个答案:

答案 0 :(得分:2)

您应该将文件名包装在引号内,因为它是一个字符串变量

$.ajax({
               url: 'aScript.php',
               type: "POST",
               data: carrier,
               dataType: "json",
                    success: function(data) { 
                        console.log(data) }
                });
            });

答案 1 :(得分:1)

您的代码存在一些问题

  1. 在此行url: aScript.php,中未引用url字符串,它应为url: 'aScript.php',
  2. 您设置dataType: "json"aScript.php返回html而不是json,删除该行
  3. 您传递的数据不是json,它将被序列化为key = value对,您将能够通过$d = $_POST['vars'];
  4. 访问它