Php 为什么jQuery.parseJSON会影响方法加载?
我正在尝试在ajax之后加载页面的一部分。。。基于返回的数据,我在java脚本中使用了以下代码:Php 为什么jQuery.parseJSON会影响方法加载?,php,jquery,ajax,Php,Jquery,Ajax,我正在尝试在ajax之后加载页面的一部分。。。基于返回的数据,我在java脚本中使用了以下代码: var getPrice = $(this).closest('li'); var price = getPrice.next(); var id = $(this).attr('data-id'); $.ajaxSetup({ url: "do_cart_actions.php?action=qty", type: 'POST', dat
var getPrice = $(this).closest('li');
var price = getPrice.next();
var id = $(this).attr('data-id');
$.ajaxSetup({
url: "do_cart_actions.php?action=qty",
type: 'POST',
data: data,
success: function(data) {
var result = jQuery.parseJSON(data);
if(result.good == 1) {
price.fadeOut('fast', function() {
price.load('show_cart.php .item_price_'+id, function() {
price.fadeIn('fast');
});
});
}
}
});
$.ajax();
var result = jQuery.parseJSON(data);
我的php文件返回以下内容:
echo '{ "good":"1" , "qty":"'. $_POST['a'] .'" }';
var result = jQuery.parseJSON(data);
当我尝试此操作时,chrome返回以下错误:
Uncaught SyntaxError: Unexpected token <
var result = jQuery.parseJSON(data);
现在,一切又恢复正常了。所以我唯一的理论是load方法和jQuery.parseJSON可能有问题
var result = jQuery.parseJSON(data);
有什么想法吗?您是否尝试在console.log()中显示
var result = jQuery.parseJSON(data);
结果的内容
var result = jQuery.parseJSON(data);
以防万一。您是否尝试在console.log()中显示
var result = jQuery.parseJSON(data);
结果的内容
var result = jQuery.parseJSON(data);
以防万一里面出了什么问题。1在你的PHP。。
var result = jQuery.parseJSON(data);
反而
var result = jQuery.parseJSON(data);
您可以很容易地使用json函数,如下所示:
var result = jQuery.parseJSON(data);
echo json_encode(array('good'=>1,'qty'=>$_POST['a']));
第二次访问您的javascript地址:
var result = jQuery.parseJSON(data);
success: function(data) {
var result = jQuery.parseJSON(data);
您不需要解析数据,因为它已经是JSON格式
var result = jQuery.parseJSON(data);
为了确保这一点,在对PHP代码进行echo json_编码之前,您可以添加和json头,如下所示:
var result = jQuery.parseJSON(data);
header('Content-Type: application/json');
!!!附言
var result = jQuery.parseJSON(data);
不要使用ajaxSetup来处理您的请求!它将影响您下一次提出的任何ajax请求,这可能是以后的问题 在您的PHP中排名第一。。
var result = jQuery.parseJSON(data);
反而
var result = jQuery.parseJSON(data);
您可以很容易地使用json函数,如下所示:
var result = jQuery.parseJSON(data);
echo json_encode(array('good'=>1,'qty'=>$_POST['a']));
第二次访问您的javascript地址:
var result = jQuery.parseJSON(data);
success: function(data) {
var result = jQuery.parseJSON(data);
您不需要解析数据,因为它已经是JSON格式
var result = jQuery.parseJSON(data);
为了确保这一点,在对PHP代码进行echo json_编码之前,您可以添加和json头,如下所示:
var result = jQuery.parseJSON(data);
header('Content-Type: application/json');
!!!附言
var result = jQuery.parseJSON(data);
不要使用ajaxSetup来处理您的请求!它将影响您下一次提出的任何ajax请求,这可能是以后的问题 什么事
var result = jQuery.parseJSON(data);
price.load('show_cart.php .item_price_'+id, // ...
为什么要将PHP文件的路径和CSS选择器结合起来
var result = jQuery.parseJSON(data);
我可能猜它试图加载给定的URL,比如show_cart.php.item_price_3
,没有找到这样的页面(显然),返回带有404错误的HTML页面,由于标签打开而没有被解析为JSON,这是什么
var result = jQuery.parseJSON(data);
price.load('show_cart.php .item_price_'+id, // ...
为什么要将PHP文件的路径和CSS选择器结合起来
var result = jQuery.parseJSON(data);
我可能猜它试图加载给定的URL,比如show_cart.php.item_price_3
,没有找到这样的页面(显然),返回带有404错误的HTML页面,由于标签打开服务器端,该页面没有被解析为JSON:
var result = jQuery.parseJSON(data);
echo json_encode(array('good'=>1,'qty'=>$_POST['a']));
客户端:使用数据类型
var result = jQuery.parseJSON(data);
$.ajaxSetup({
url: "do_cart_actions.php?action=qty",
type: 'POST',
data: data,
dataType : 'json',
success: function(result) {
if(result.good == 1) {
price.fadeOut('fast', function() {
price.load('show_cart.php .item_price_'+id, function() {
price.fadeIn('fast');
});
});
}
}
});
服务器端:
var result = jQuery.parseJSON(data);
echo json_encode(array('good'=>1,'qty'=>$_POST['a']));
客户端:使用数据类型
var result = jQuery.parseJSON(data);
$.ajaxSetup({
url: "do_cart_actions.php?action=qty",
type: 'POST',
data: data,
dataType : 'json',
success: function(result) {
if(result.good == 1) {
price.fadeOut('fast', function() {
price.load('show_cart.php .item_price_'+id, function() {
price.fadeIn('fast');
});
});
}
}
});
这不是对问题的回答,这应该是一个要求更多信息的评论。嘿,要做到这一点,我应该添加这个“console.log(result);”不是吗?@KhorneHoly我不能发表评论,因为我没有至少50%的声誉,这就是为什么我发布了答案。我认为这不是对我的答案不满意的理由。我只是想帮忙……就是这样@TomasLucena尝试在var result=jQuery.parseJSON(data);:)之后在console.log中显示结果仅返回此对象{good:1,qty:“18”}myCart:1未捕获的语法错误:意外标记这不是问题的答案,这应该是一条询问其他信息的注释。嘿,要执行此操作,我应该添加此“console.log(result);”不是吗?@KhorneHoly我不能发表评论,因为我没有至少50%的声誉,这就是为什么我发布了答案。我认为这不是对我的答案不满意的理由。我只是想帮忙……就是这样@TomasLucena尝试在var result=jQuery.parseJSON(data);:)之后在console.log中显示结果仅返回此对象{good:1,qty:“18”}myCart:1未捕获的语法错误:意外标记您的意思是.success()
@madalinivascu No,我的意思是done()
。jqXHR.success()。。。因此,我将数量输入的id传递到价格标签,以仅更新该价格。。。很抱歉,我试图用我所不能用的最好的方式来解释使用ajax的方法和其他问题结合起来使它工作!!!谢谢你的意思是.success()
@madalinivascu不,我的意思是done()
。jqXHR.success()。。。因此,我将数量输入的id传递到价格标签,以仅更新该价格。。。很抱歉,我试图用我所不能用的最好的方式来解释使用ajax的方法和其他问题结合起来使它工作!!!谢谢,只有一个问题:如何在javascript中检索信息?成功:函数(数据)数据是您的结果,但我的意思是如何做:如果(数据[good]==1){alert('going well')}您需要学习javascript语法。。代替数据[good]使用数据。goodyes我尝试过,但基于另一个问题,我缺少了数据类型“json”:)只有一个问题:如何在javascript中检索信息?成功:函数(数据)数据是您的结果,但我的意思是如何做:如果(数据[good]=1){alert('going well')}您需要学习javascript语法。。代替数据[good]使用data.goodyes我已经试过了,但基于另一个问题,我缺少数据类型“json”: