<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>roccia (Weizhen Yan)</title>
    <link>https://ruby-china.org/roccia</link>
    <description></description>
    <language>en-us</language>
    <item>
      <title>[北京&amp;上海] OR [远程] 联池系统招聘前端，后端开发, IOS, Android, Windows</title>
      <description>&lt;p&gt;&lt;strong&gt;关于联池系统&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;UniLake Systems（联池系统）成立于 2019 年底，专注于面向企业的全球云网融合服务领域，聚焦解决端到端数字化体验的可视化与量化，以及基于可视化分析与业务实战洞见的极致自动化与智能运营。&lt;/p&gt;

&lt;p&gt;UniLake 核心团队成员来自硅谷云网厂商、国内云计算初创、混合云服务商及大型企业 IT 高管，以 DevOps（开发运营），IaaC（基础设施即代码），SRE（站点可靠性工程）为企业基因，聚合了近十年在云计算和软件定义网络（SDN）领域的技术研发，产品市场，全球化服务运营的独特能力组合。此外，核心团队在 ToB（尤其大 B）业务上具备国际化甲乙双方的经验视角与实战认知，这对于 ToB 产品的销售落地与支撑到位也至关重要。&lt;/p&gt;

&lt;p&gt;去年 12 月份我们拿到了 1000 万的天使轮融资，&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;关于招聘&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;我们的产品技术栈是 Golang, MySQL, PostgreSQL, ClickHouse, RabbitMQ, Prometheus, 中间有一些工具是 Java, Python 实现的，在实现产品的过程中，对 Linux 网络的一些功能，是用 C 实现的。产品的前端有 Web, 运行在 iOS, Android, Windows, MacOS 上的客户端，所以这些目前是 svelte-kit, Vue, ECharts，其他使用的 C#/C (Windows) ,Swift (iOS/MacOS) 和 Java(Android) 。上次招聘我们招到了后端和前端的大神，并且 3 个月下来相处和配合相当的融洽，所以我们的技术栈和工具链都有非常不错的延伸和扩展。&lt;/p&gt;

&lt;p&gt;由于我们的产品和项目和各种云、网打交道，希望能有熟悉各种公有云的大神以及熟悉网络的大神来加入我们的团队，我们的 CMP 平台纳管了 AWS, GCP, Azure, 阿里，华为，VMware 和 OpenStack 等等，网络则涵盖了 SDN, SD-WAN 以及各种隧道协议 (从 MPLS, VPLS 到 VxLAN，各种 VPN 协议)，网络服务 (DNS, DHCP, NAT, Proxy, Load Balancer 等)。&lt;/p&gt;

&lt;p&gt;从网络方向来的大神们，希望能有在网络设备厂商、游戏加速技术等公司的就职背景，从云方向来的大神希望能有云厂商，私有云或开源 OpenStack 开发贡献的背景（这些作为加分项）&lt;/p&gt;

&lt;p&gt;另外，我们还需要有 UI/UX 设计经验的前端大神来帮助我们设计更优秀、更易用的产品来补足我们对设计这块的短板。&lt;/p&gt;

&lt;p&gt;如果您对我们的技术栈很熟悉，并且能够适应长期在家办公的模式，欢迎和我联系。&lt;/p&gt;

&lt;p&gt;除了专职设计师与开发者，如果您有云 /网领域 DevOps 环境 /项目经验，更偏重售前 /交付阶段工作，我们也在招聘售前 /交付 /数字化运营岗位，同样欢迎您投递简历&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;关于面试&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;既然是远程办公，那么面试也是远程的，你可以约定好一个时间，使用线上会议系统，我们使用 Zoom, Teams 和腾讯会议。面试会进行 2-3 轮，希望能通过面试，对候选人做一个初步的了解，如果你有可以展示的作品，或者参与过的开源项目，可以在面试中向我们展示。面试也是一个双向了解的过程，你也可以随时问你关心的问题。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;关于薪资和待遇&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;我们虽然是一个初创的小团队，但是会为团队的成员提供了五险一金、期权和节日福利，由于是长期在家办公，所以也提供了运动健身补助。我们会为你提供与能力相符的工资和奖金待遇，但是可能和大厂会有一些差距，不过至少也省掉了每日通勤的成本。另外作为参考，我们这次的招聘希望能找到有一定的行业基础和工作经验的设计师、开发者，我们提供了不低于 20k/月的税前工资，上次的招聘，平均的薪资在 25k 以上。&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;关于团队&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;早期团队成员基本上来自外企厂商和运营商，我们从去年疫情开始的时候就退掉了办公室，全面实施在家办公的策略，已经持续了一年多。业务相关的同事使用 Asana, Salesforce 来协作，开发的同事使用 Azure DevOps, 涵盖了 repo 管理，CI/CD, Backlog 和 Stories.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;关于远程&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;长期远程工作对自身的沟通能力、理解能力、以及学习能力都有潜在的不小的挑战，因为很多事情需要主动的沟通和交流，以及主动的学习，并非很多人适合；长期的远程工作比较容易带来孤独感，可能更适合已经组建了家庭，并有广泛兴趣爱好和成熟社交圈子的人士。&lt;/p&gt;

&lt;p&gt;有兴趣的同学们，可以把简历发送到 bGlhbmdib0B1bmlsYWtlLmlv&lt;/p&gt;

&lt;p&gt;或者加微信 b25ldG93bg==&lt;/p&gt;</description>
      <author>roccia</author>
      <pubDate>Sat, 08 May 2021 20:51:47 +0800</pubDate>
      <link>https://ruby-china.org/topics/41236</link>
      <guid>https://ruby-china.org/topics/41236</guid>
    </item>
    <item>
      <title>如何在 view 中 render controller 的参数</title>
      <description>&lt;p&gt;想要把用户选择的日期范围（start_date, end_time）作为参数，从 view 传回到 controller,  controller 里调用传进的参数计算并返回结果，再将结果传回 view,  我用的是 bootstrap-datepicker gem, 用 ajax 来实现 view ---controller 的参数传递，我的确把选择的日期传到了 controller, 并得到了结果，可是在 view 里面 当我想要重新 render 这个结果的时候浏览器返回却是空。&lt;/p&gt;

&lt;p&gt;详细代码如下
Controller analyzer_controller.rb     &lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;data&lt;/span&gt;

&lt;span class="n"&gt;start_time&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:start_date&lt;/span&gt;&lt;span class="p"&gt;]?&lt;/span&gt;   &lt;span class="c1"&gt;#[:start_date] ---&amp;gt; ajax的参数&lt;/span&gt;
        &lt;span class="no"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:start_date&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="no"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;iso8601&lt;/span&gt;   
&lt;span class="n"&gt;end_time&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;  &lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:end_date&lt;/span&gt;&lt;span class="p"&gt;]?&lt;/span&gt;
        &lt;span class="no"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;parse&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;params&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="ss"&gt;:end_date&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="no"&gt;Date&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;iso8601&lt;/span&gt;

&lt;span class="c1"&gt;# 需要把@iphone 和@android的结果传到view&lt;/span&gt;
     &lt;span class="vi"&gt;@iphone&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="no"&gt;Analyzer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;   
      &lt;span class="nf"&gt;mobile_type_count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'deviceOS'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'mobileNum'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'$deviceOS'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                        &lt;span class="s1"&gt;'$mobileNum'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'iOS'&lt;/span&gt; &lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;start_time&lt;/span&gt; &lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;end_time&lt;/span&gt;  &lt;span class="p"&gt;)&lt;/span&gt;
      &lt;span class="vi"&gt;@android&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="no"&gt;Analyzer&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;new&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;
      &lt;span class="nf"&gt;mobile_type_count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'deviceOS'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'mobileNum'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'$deviceOS'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
                        &lt;span class="s1"&gt;'$mobileNum'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;'Android'&lt;/span&gt; &lt;span class="p"&gt;,&lt;/span&gt;  &lt;span class="n"&gt;start_time&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;end_time&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;

 &lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Model   analyzer.rb&lt;/strong&gt;    &lt;/p&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;
&lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;mobile_type_count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;name&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;name1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;field&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;filed1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;start_time&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;end_time&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;date_match&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;{:&lt;/span&gt;&lt;span class="vg"&gt;$match&lt;/span&gt;  &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="ss"&gt;:created_at&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="vg"&gt;$gt&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt;  &lt;span class="n"&gt;start_time&lt;/span&gt; &lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="vg"&gt;$lt&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="n"&gt;end_time&lt;/span&gt;  &lt;span class="p"&gt;}}}&lt;/span&gt;   &lt;span class="c1"&gt;#选择的日期传入到这里，根据日期用mongo聚合来计算&lt;/span&gt;
 &lt;span class="o"&gt;.........&lt;/span&gt; 
  &lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;** View data.html.erb **       &lt;/p&gt;
&lt;pre class="highlight erb"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"input-daterange input-group"&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"datepicker"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"input-sm form-control"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"start"&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"2016-04-11"&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"startDate"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;span&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"input-group-addon"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;to&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"input-sm form-control"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"end"&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"2016-04-13"&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"endDate"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
    &lt;span class="cp"&gt;&amp;lt;%=&lt;/span&gt;   &lt;span class="n"&gt;button_tag&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;type: &lt;/span&gt;&lt;span class="s1"&gt;'submit'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;class: &lt;/span&gt;&lt;span class="s2"&gt;"btn btn-default btn-sm"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="ss"&gt;:id&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'get_data'&lt;/span&gt; &lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;do&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;
        Submit

    &lt;span class="cp"&gt;&amp;lt;%&lt;/span&gt; &lt;span class="k"&gt;end&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;div&lt;/span&gt; &lt;span class="na"&gt;class=&lt;/span&gt;&lt;span class="s"&gt;"ibox-content"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="cp"&gt;&amp;lt;%=&lt;/span&gt;  &lt;span class="n"&gt;pie_chart&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="s2"&gt;"iphone"&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="vi"&gt;@iphone&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"android"&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="vi"&gt;@android&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;         
    &lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;当点击 submit 的时候，页面没有返回任何值，或者图表，浏览器返回的是：&lt;/p&gt;
&lt;pre class="highlight erb"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text/javascript"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;Chartkick&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;PieChart&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;chart-1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;iphone&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:[],&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;android&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:[]},&lt;/span&gt; &lt;span class="p"&gt;{});&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;也就是说&lt;a href="/iphone" class="user-mention" title="@iphone"&gt;&lt;i&gt;@&lt;/i&gt;iphone&lt;/a&gt;和&lt;a href="/android" class="user-mention" title="@android"&gt;&lt;i&gt;@&lt;/i&gt;android&lt;/a&gt; 要不就是没有传过来，要不就是传过来了但是没有正确的被 render,  我用 puts 来测试的时候&lt;/p&gt;
&lt;pre class="highlight erb"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;%=&lt;/span&gt;  &lt;span class="nb"&gt;puts&lt;/span&gt;  &lt;span class="n"&gt;pie_chart&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;&lt;span class="s2"&gt;"iphone"&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="vi"&gt;@iphone&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"android"&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="vi"&gt;@android&lt;/span&gt;&lt;span class="p"&gt;})&lt;/span&gt; &lt;span class="cp"&gt;%&amp;gt;&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;在 Terminal 里面可以看到以下输出： &lt;/p&gt;
&lt;pre class="highlight erb"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text/javascript"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;Chartkick&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;PieChart&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;chart-1&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;iphone&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:[&lt;/span&gt;&lt;span class="mi"&gt;11&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;android&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:[&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;]},&lt;/span&gt; &lt;span class="p"&gt;{});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Ajax&lt;/p&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;script&lt;/span&gt; &lt;span class="nx"&gt;type&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;text/javascript&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;


  &lt;span class="nf"&gt;$&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;ready&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;

  &lt;span class="nf"&gt;$&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#get_data&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;click&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;
        &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;sd&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;$&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#startDate&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;val&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt;
            &lt;span class="nx"&gt;ed&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nf"&gt;$&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;#endDate&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nf"&gt;val&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="nx"&gt;$&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;ajax&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
      &lt;span class="na"&gt;url&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;/analyzer/data&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;type&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;post&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;data&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;start_date&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt; &lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nx"&gt;sd&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;end_date&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="nx"&gt;ed&lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;      

      &lt;span class="na"&gt;success&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;
      &lt;span class="p"&gt;},&lt;/span&gt;
      &lt;span class="na"&gt;error&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(){&lt;/span&gt;
        &lt;span class="nf"&gt;alert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Error&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
      &lt;span class="p"&gt;}&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;为什么在 Terminal 里可以得到 iphone 和 android 的结果呢？希望有人能给我解释解释 谢谢！&lt;/p&gt;</description>
      <author>roccia</author>
      <pubDate>Fri, 06 May 2016 17:08:16 +0800</pubDate>
      <link>https://ruby-china.org/topics/29935</link>
      <guid>https://ruby-china.org/topics/29935</guid>
    </item>
  </channel>
</rss>
