【问题标题】:How can add php json file to javascript file?如何将 php json 文件添加到 javascript 文件中?
【发布时间】:2021-03-21 10:27:39
【问题描述】:

我想在外部将 const 数据变量集成到 php 文件中。它是做什么的?我正在将我的 php 页面上的数据更改为 json 格式,但是如何将其拉入 javascript 页面?

User.js 文件:

const data = {users: [
{
  id: 1,
  fullName: 'Galen Slixby',
  company: 'Yotz PVT LTD',
  role: 'editor',
  username: 'gslixby0',
  country: 'El Salvador',
  contact: '(479) 232-9151',
  email: 'gslixby0@abc.net.au',
  currentPlan: 'enterprise',
  status: 'inactive',
  avatar: '',
},

], }

User.php 文件:

$response = []; $response['users']=[]; foreach($firmalar as $firma){ $response['data'][] = [
  "avatar"=>"",
  'id'=> $firma['id'],
  'responsive_id' => '',
  'full_name'=> $firma['firma_adi'],
  'email'=> $firma['firma_mail'],
  'role'=> $firma['firma_sektor'],
  'current_plan'=> $firma['firma_telefon'],
  'status'=> $firma['firma_tehlike']


]; }   echo json_encode($response);

【问题讨论】:

  • 使用fetch API?
  • 是的,我现在正在尝试。还是谢谢。
  • 嘿,我还有一个关于 fetch api 的问题。当我使用 api 提取数据时,我无法使用该数据创建 const。

标签: javascript php jquery ajax laravel


【解决方案1】:

IIUC 您的目标结构需要在 PHP 中进行映射。 因此,您有一个对象,其中包含一个元素 users 和值 - 对象数组(可能是用户)。记住这一点,在编码之前你应该在 PHP 中有同样的东西。

<?php

    $json = new stdClass();
    $json->users = [];
     
    $firmalar = [
        [
           'id' => 1,     
           'firma_adi' => 'firma_adi',     
           'firma_mail' => 'firma_mail',
           'firma_sektor' => 'firma_sektor',
           'firma_telefon' => 'firma_telefon',
           'firma_tehlike' => 'firma_tehlike',
        ],     
    ];
     
    foreach($firmalar as $firma)
    { 
        $user = new stdClass();
        $user->avatar = "";
        $user->id = $firma['id'];
        $user->responsive_id = '';
        $user->full_name = $firma['firma_adi'];
        $user->email = $firma['firma_mail'];
        $user->role = $firma['firma_sektor'];
        $user->current_plan = $firma['firma_telefon'];
        $user->status = $firma['firma_tehlike'];
        
        $json->users[] = $user;
    }

    echo json_encode($json);

    //or if you want that data available in your js file simply generate valid JS statement for assigning produced json to (in you case) constant BEFORE loading the JS file
    echo 'const data =\''.json_encode($json).'\'';

请关注json_encode 文档了解更多使用详情。

干杯!

【讨论】:

  • 是的,我知道这些值是相等的。我在这里展示只是为了展示。我可以Json.encode()。但我这里的问题是关于如何将 json 文件提取到 javascript 文件中。
  • 您需要在 php 中生成一个字符串,该字符串可以稍后被评估为有效的 JS 常量(在您的情况下): 上面应该发生在你加载 JS 文件之前,以便在那里可用。
【解决方案2】:

response()->json($result);是解决方案!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-19
    • 1970-01-01
    • 2022-11-16
    • 2011-08-23
    • 2019-11-13
    • 2018-08-25
    相关资源
    最近更新 更多