从 php 中的 mvc 控制器方法返回一个 json 值

Posted

技术标签:

【中文标题】从 php 中的 mvc 控制器方法返回一个 json 值【英文标题】:return a json value from an mvc controller method in php 【发布时间】:2016-04-24 08:19:40 【问题描述】:

我想从一个 mvc 控制器方法中获取一个 json 类型的值。一切都正确,但发生错误'。

我的 jquery ajax 函数:

function user_login(uname,pass)
    $.ajax(
        url: 'http://localhost/s/login_request',
        type:'POST',
        data:uname:uname,pass:pass,
        dataType:"json",
        cache: false,
    )
    .done(function(response)
         //do something   
         alert('1234');
    )
    .fail(function(jqXHR,textStatus)
        alert(JSON.stringify(jqXHR));
    );

这是我的 php 代码(mvc 控制器方法):

function login_request()
        header('Content-Type: application/json');
        echo json_encode(array('testvalue'));   

当我运行代码时,执行 .fail 部分并返回以下值:

"readyState":4,"responseText":"[\"testvalue\"]","status":200,"statusText":"OK"

我该如何解决这个问题?谢谢...

【问题讨论】:

可能是缓存后的逗号:false 在浏览器开发工具中检查实际请求以获取线索。 【参考方案1】:

尝试使用

$.ajax(
    url: 'http://localhost/s/login_request',
    type:'POST',
    data:uname:uname,pass:pass,
    dataType:"json",
    cache: false,
    success: function(data)  ,
    fail: function(xhr, status)  alert(JSON.stringify(xhr)) ,
    error: function()  ,
    complete: function()  alert('1234') 
);

【讨论】:

以上是关于从 php 中的 mvc 控制器方法返回一个 json 值的主要内容,如果未能解决你的问题,请参考以下文章

从 MVC .Net 核心控制器读取 JSON 时出现问题

从 MVC 中控制器中的不同方法向视图发送消息

视图中的 PHP MVC 循环

将数据从 MVC 控制器传递到 PHP 中的视图

设置从 MVC 和内部 Vue.js Spa 到 webroot 的路由,从 URL 隐藏控制器名称

从 MVC 控制器返回带有对象列表的 JsonResult