热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

将JSON传递给PHP后进行解码-DecodingafterPassingJSONintoPHP

ParsingJSONinPHP在PHP中解析JSONMyvariablejsonvarisintheformof{rating:good}我的变量jsonvar

Parsing JSON in PHP

在PHP中解析JSON

My variable jsonvar is in the form of {"rating":"good"}

我的变量jsonvar采用{“rating”:“good”}的形式

Once I push it through with this $.ajax code to submit, I'm a bit confused at what my PHP (jsonproc.php) should look like.

一旦我用这个$ .ajax代码提交它,我对我的PHP(jsonproc.php)看起来有点困惑。

$.ajax({
                url: 'jsonproc.php',
                data: {js:jsonvar},
                dataType: 'json',
                type: 'post',
                success: function (j) {
                        if (j.ok){
                            alert(j.msg);
                        } else {
                            alert(j.msg);
                        }
                    }
                });

I have it set up as

我把它设置为

$decoded = $_GET['js'];
$respOnse= array(
   'ok' => true, 
   'msg' => $decoded['rating']);

However when I echo it back,

然而,当我回复它,

   echo json_encode($response);

using alert(j.msg) shows a "null" value.

使用alert(j.msg)显示“null”值。

Assuming that I am passing JSON in correctly, how can I point to the rating and get the value of "good"?

假设我正确地传递JSON,我如何指向评级并获得“好”的值?

Thanks

谢谢

EDIT

编辑

SOLVED, USING $_REQUEST I was able to get the JSON, however $_GET did not work.

已解决,使用$ _REQUEST我能够获得JSON,但$ _GET无效。

Also, the key was using $decoded->{'rating'} as $decoded is no longer just an array i don't think or rather it's a diff type of one?

另外,关键是使用$ decoding - > {'rating'}因为$ decode不再仅仅是一个我不认为的数组,或者它是一个diff类型的?

2 个解决方案

#1


3  

It looks like you're mixing data types here:

看起来你在这里混合数据类型:

 data: "js="+jsonvar,

jQuery will convert JSON if you pass an object, but you're mixing query string with JSON.

如果传递一个对象,jQuery将转换JSON,但是您将查询字符串与JSON混合。

Try:

尝试:

data: {js: jsonvar},

You may also need to do json_decode($_GET['js']).

您可能还需要执行json_decode($ _ GET ['js'])。

edit: You can double check what jQuery is POSTing with Firebug/Web Inspector. Easiest way to know for sure.

编辑:您可以使用Firebug / Web Inspector仔细检查jQuery正在POST的内容。最简单的方式来确定。

#2


-2  

Try adding this to the top of your PHP file:

尝试将其添加到PHP文件的顶部:

header('Content-type: application/json');

推荐阅读
  • 在JavaWeb开发中,文件上传是一个常见的需求。无论是通过表单还是其他方式上传文件,都必须使用POST请求。前端部分通常采用HTML表单来实现文件选择和提交功能。后端则利用Apache Commons FileUpload库来处理上传的文件,该库提供了强大的文件解析和存储能力,能够高效地处理各种文件类型。此外,为了提高系统的安全性和稳定性,还需要对上传文件的大小、格式等进行严格的校验和限制。 ... [详细]
  • 技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统
    技术分享:使用 Flask、AngularJS 和 Jinja2 构建高效前后端交互系统 ... [详细]
  • 使用HTML和JavaScript实现视频截图功能
    本文介绍了如何利用HTML和JavaScript实现从远程MP4、本地摄像头及本地上传的MP4文件中截取视频帧,并展示了具体的实现步骤和示例代码。 ... [详细]
  • 本文介绍了 Go 语言中的高性能、可扩展、轻量级 Web 框架 Echo。Echo 框架简单易用,仅需几行代码即可启动一个高性能 HTTP 服务。 ... [详细]
  • 在处理大规模数据数组时,优化分页组件对于提高页面加载速度和用户体验至关重要。本文探讨了如何通过高效的分页策略,减少数据渲染的负担,提升应用性能。具体方法包括懒加载、虚拟滚动和数据预取等技术,这些技术能够显著降低内存占用和提升响应速度。通过实际案例分析,展示了这些优化措施的有效性和可行性。 ... [详细]
  • Cookie学习小结
    Cookie学习小结 ... [详细]
  • 本文将介绍如何在混合开发(Hybrid)应用中实现Native与HTML5的交互,包括基本概念、学习目标以及具体的实现步骤。 ... [详细]
  • 包含phppdoerrorcode的词条 ... [详细]
  • 本文详细解析了ASP.NET 2.0中的Callback机制,不仅介绍了基本的使用方法,还深入探讨了其背后的实现原理。通过对比Atlas框架,帮助读者更好地理解和应用这一机制。 ... [详细]
  • Framework7:构建跨平台移动应用的高效框架
    Framework7 是一个开源免费的框架,适用于开发混合移动应用(原生与HTML混合)或iOS&Android风格的Web应用。此外,它还可以作为原型开发工具,帮助开发者快速创建应用原型。 ... [详细]
  • 本文介绍了如何使用 Node.js 和 Express(4.x 及以上版本)构建高效的文件上传功能。通过引入 `multer` 中间件,可以轻松实现文件上传。首先,需要通过 `npm install multer` 安装该中间件。接着,在 Express 应用中配置 `multer`,以处理多部分表单数据。本文详细讲解了 `multer` 的基本用法和高级配置,帮助开发者快速搭建稳定可靠的文件上传服务。 ... [详细]
  • 如何将TS文件转换为M3U8直播流:HLS与M3U8格式详解
    在视频传输领域,MP4虽然常见,但在直播场景中直接使用MP4格式存在诸多问题。例如,MP4文件的头部信息(如ftyp、moov)较大,导致初始加载时间较长,影响用户体验。相比之下,HLS(HTTP Live Streaming)协议及其M3U8格式更具优势。HLS通过将视频切分成多个小片段,并生成一个M3U8播放列表文件,实现低延迟和高稳定性。本文详细介绍了如何将TS文件转换为M3U8直播流,包括技术原理和具体操作步骤,帮助读者更好地理解和应用这一技术。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • 【实例简介】本文详细介绍了如何在PHP中实现微信支付的退款功能,并提供了订单创建类的完整代码及调用示例。在配置过程中,需确保正确设置相关参数,特别是证书路径应根据项目实际情况进行调整。为了保证系统的安全性,存放证书的目录需要设置为可读权限。值得注意的是,普通支付操作无需证书,但在执行退款操作时必须提供证书。此外,本文还对常见的错误处理和调试技巧进行了说明,帮助开发者快速定位和解决问题。 ... [详细]
author-avatar
夜沙
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有