大家好,当我添加一个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?>" />
有人可以为我查看这个文件因为我似乎无法找到什么错误请帮我找出这个脚本的错误
答案 0 :(得分:2)
您应该将文件名包装在引号内,因为它是一个字符串变量
$.ajax({
url: 'aScript.php',
type: "POST",
data: carrier,
dataType: "json",
success: function(data) {
console.log(data) }
});
});
答案 1 :(得分:1)
您的代码存在一些问题
url: aScript.php,
中未引用url字符串,它应为url: 'aScript.php',
dataType: "json"
但aScript.php
返回html而不是json,删除该行$d = $_POST['vars'];