Ajax 不会从 php 文件中检索文件
Ajax wont retrieve the file from php file
大家好,当我添加 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?>" />
谁能帮我检查一下这个文件,因为我似乎找不到问题请帮我找出这个脚本有什么问题
您应该将文件名括在引号内,因为它是一个字符串变量
$.ajax({
url: 'aScript.php',
type: "POST",
data: carrier,
dataType: "json",
success: function(data) {
console.log(data) }
});
});
您的代码存在一些问题
- 在这一行
url: aScript.php,
中 url 字符串没有被引用,应该是 url: 'aScript.php',
- 你设置
dataType: "json"
但 aScript.php
returns html 而不是 json,删除那行
- 您传递的数据不是 json,它将被序列化为键=值对,您将能够通过
$d = $_POST['vars'];
访问它
大家好,当我添加 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?>" />
谁能帮我检查一下这个文件,因为我似乎找不到问题请帮我找出这个脚本有什么问题
您应该将文件名括在引号内,因为它是一个字符串变量
$.ajax({
url: 'aScript.php',
type: "POST",
data: carrier,
dataType: "json",
success: function(data) {
console.log(data) }
});
});
您的代码存在一些问题
- 在这一行
url: aScript.php,
中 url 字符串没有被引用,应该是url: 'aScript.php',
- 你设置
dataType: "json"
但aScript.php
returns html 而不是 json,删除那行 - 您传递的数据不是 json,它将被序列化为键=值对,您将能够通过
$d = $_POST['vars'];
访问它