Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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
Jquery:$.ajax(json数据类型)有问题_Ajax_Jquery - Fatal编程技术网

Jquery:$.ajax(json数据类型)有问题

Jquery:$.ajax(json数据类型)有问题,ajax,jquery,Ajax,Jquery,我在刷新页面中的bloc时遇到问题 请求如下: > $("#pwd_lost_link").click(function(){ alert('1'); $.ajax({ type : 'POST', url: 'test.php', dataType: 'json', data :{"nom" : "akbar"}, success : function(data){ $("#main_bloc")

我在刷新页面中的bloc时遇到问题

请求如下:

> $("#pwd_lost_link").click(function(){
    alert('1');
    $.ajax({
      type : 'POST',
      url: 'test.php',
      dataType: 'json',
      data :{"nom" : "akbar"},
      success : function(data){
        $("#main_bloc").append(data.msg);
        alert('2');
      },
      error : function(XMLHttpRequest, textStatus, errorThrown) {
                alert(XMLHttpRequest.responseText);
                                alert(errorThrown);             }
    });   })
这是php文件

<?php  
 $return['nom'] = "ffrfrfrfr";
  echo json_encode($return)
?> 

它不起作用。它会给我一个状态错误(0),页面会自动重新加载

谢谢


Michaël

您试图访问
data.msg
,但您的PHP脚本只创建
data.nom
。因此,
data.msg
不存在。尝试将
data.msg
更改为
data.nom
,看看这是否符合您的要求。

您试图访问
data.msg
,但您的PHP脚本仅创建
data.nom
。因此,
data.msg
不存在。尝试将
data.msg
更改为
data.nom
,看看这是否符合您的要求。

令人困惑的问题Michael,不确定“页面自动重新加载”是什么意思,但您应该做两件事:

在$.ajax()方法中,确保成功回调正确处理数据。您正在查找
data.msg
,但我不知道
.msg
来自何处

    $.ajax({
        type: "GET",
        contentType: "application/json; charset=utf-8",
        data: {},
        dataType: "json",
        url: url,
        success: function(data) {
            // parse data object so you can see what's being returned ex. alert(data) or alert(data[0]) or alert(data.nom)
        },
        error: function (xhr, status, error) {
            // XHR DOM reference: http://www.w3schools.com/dom/dom_http.asp
            // check for errors  ex. alert(xhr.statusText);              
        } 
    });
在PHP方面,您可能希望在那里进行调试,以查看接收到的内容和发送回的内容

除此之外,使用诸如Firebug或Chrome的内置实用程序(CTRL+SHIFT+I)之类的XHR查看器会非常有用

最后,如果
pwd_lost_link
是一个link-elment
a id=“pwd_lost_link”href=“…”
,那么在处理AJAX之前,您必须停止浏览器跟随该链接

$("#pwd_lost_link").click(function(e) {
    e.preventDefault(); 
    alert('1');
    $.ajax({      
   ...
});

如果您没有看到“1”被提醒,那么这肯定是您的第一个问题。

令人困惑的问题Michael,不确定“页面自动重新加载”是什么意思,但您应该做两件事:

在$.ajax()方法中,确保成功回调正确处理数据。您正在查找
data.msg
,但我不知道
.msg
来自何处

    $.ajax({
        type: "GET",
        contentType: "application/json; charset=utf-8",
        data: {},
        dataType: "json",
        url: url,
        success: function(data) {
            // parse data object so you can see what's being returned ex. alert(data) or alert(data[0]) or alert(data.nom)
        },
        error: function (xhr, status, error) {
            // XHR DOM reference: http://www.w3schools.com/dom/dom_http.asp
            // check for errors  ex. alert(xhr.statusText);              
        } 
    });
在PHP方面,您可能希望在那里进行调试,以查看接收到的内容和发送回的内容

除此之外,使用诸如Firebug或Chrome的内置实用程序(CTRL+SHIFT+I)之类的XHR查看器会非常有用

最后,如果
pwd_lost_link
是一个link-elment
a id=“pwd_lost_link”href=“…”
,那么在处理AJAX之前,您必须停止浏览器跟随该链接

$("#pwd_lost_link").click(function(e) {
    e.preventDefault(); 
    alert('1');
    $.ajax({      
   ...
});

如果您没有看到“1”被警告,那么这肯定是您的第一个问题。

html/php文件的页面url是什么?使用Firebug或Chrome的调试器捕获您得到的HTTP响应。是200吗?它有正确的内容类型标题吗?嗨,谢谢你的回复。这是测试,是200。这是我的内容类型:内容类型text/html。我想我有办法了。我必须用json格式对数据进行编码?感谢您的html/php文件的页面url是什么?使用Firebug或Chrome的调试器捕获您得到的HTTP响应。是200吗?它有正确的内容类型标题吗?嗨,谢谢你的回复。这是测试,是200。这是我的内容类型:内容类型text/html。我想我有办法了。我必须用json格式对数据进行编码?谢谢。你是对的,这是一个错误,但不能解决我的问题。“警报(2)”从未显示。Thx。你是对的,这是一个错误,但不能解决我的问题。“警报(2)”从未显示。谢谢。这是默认的:)谢谢。这是默认值:)