jquery ajax json rpc如何在服务器上检索数据

Posted

技术标签:

【中文标题】jquery ajax json rpc如何在服务器上检索数据【英文标题】:jquery ajax json rpc how to retrieve data on server 【发布时间】:2013-10-02 11:36:04 【问题描述】:

我对如何从 jquery/ajax/json rpc 调用检索我的数据服务器端感到头疼!

这里是客户端:

        $.ajax(
        type: 'POST',
        contentType: 'application/json; charset=utf-8',
        url: 'http://wine-trip.net/php/ajax/setVinImage.php',
        data: JSON.stringify(jsonrpc:'2.0',method:'add',params:['vigneronID':'14818','action':'deleteImage','vinID':'13','vinImageType':'Bouteille'],id:"jsonrpc"),
        dataType:"json", 
        success:function(data)
            if (typeof (data.error.message) === 'undefined')  
                // Everything was OK 
            
            else
                alert(data.error.message);
                           
        ,
        error: function(req) 
            alert("Networking problem");
        
    );

这是服务器端的开始:

// HTTP headers for no cache etc
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

error_log("POST ".$_POST['vigneronID'], 0);
error_log("REQUEST ".$_REQUEST['vigneronID'], 0);

我从显示在警报中的服务器获得答案,但无法访问我通过参数传递的数据(语法错误?)。

我可以进行正常的 ajax 调用,但由于我使用的是 plupload 库(与 json rpc 一起使用),我想弄清楚为什么我不能使用这种方法!

我尝试过使用或不使用 contentType,但似乎没有任何改变......

【问题讨论】:

【参考方案1】:

我猜测 error_log 会发出一些字符串?它有助于使用 json_encode http://php.net/manual/en/function.json-encode.php。我还建议使用开发人员工具,例如 firebug for firefox,您可以查看服务器发送的内容

【讨论】:

以上是关于jquery ajax json rpc如何在服务器上检索数据的主要内容,如果未能解决你的问题,请参考以下文章

Trac JSON RPC 问题 - 将 jQuery AJAX 与 PHP 代理一起使用

Json RPC jquery ajax 调用

使用数据库 codeigniter 的 JSON RPC 服务

如何使用 jquery ajax 正确地将 json 对象传递给烧瓶服务器

制作 jquery 数据表以提取和使用从 Rpc 服务器返回的 json 的给定部分

请问是用Jquery 的Ajax 提交的json数据 ,在jax-rs web 服务中如何取得提交的值?