小编Joe*_*e W的帖子

如何使用PHP和Ajax将数组传递给Javascript?

抱歉如果这个解释不清楚,我也很难理解.如何使用PHP和Ajax将数组发送到Javascript?我正在使用Ajax来获取一系列照片,然后我希望<div>在我的页面上添加一个空白.

jQuery看起来如下:

$.ajax({
    url: "<?php echo site_url('demo/getPhotos/'); ?>",
    type: 'POST',
    data: form_data,
    success: function(data) {
        alert(data);
   }
Run Code Online (Sandbox Code Playgroud)

PHP函数getPhotos看起来像这样:

<?php

$photos = array();

foreach ($data as $photo) {
    array_push($photos,$photo['source']);
    }

// echo json_encode($photos); How should I be returning $photos?
Run Code Online (Sandbox Code Playgroud)

如果我只是echo $photos;将数据发送到成功回调,但它似乎没有可用的格式.

如果我var_dump($photos)在PHP中执行,结果看起来像:

array(4) {
  [0]=>
  string(14) "some_image.jpg"
  [1]=>
  string(14) "some_image.jpg"
  [2]=>
  string(14) "some_image.jpg"
  [3]=>
  string(14) "some_image.jpg"
}
Run Code Online (Sandbox Code Playgroud)

我尝试过各种各样的组合,json_encode但实际上我猜测并且不确定它背后的理论.在这种情况下,将数据从PHP传递到Javascript的最佳方法是什么?

javascript php ajax jquery json

15
推荐指数
2
解决办法
6万
查看次数

执行PHP循环直到数组结束OR达到一定数量的迭代?

我希望接收一个数组作为输入,从中过滤值,并输出另一个数组.该函数应循环到x迭代.

例如,如果我想输出输入中的所有值,我会使用:

<?php
$i=0;
foreach ($array as $data) {
    if ($data['type'] != 'some_value') {
        $formatted_array[$i] = $data;
        $i++;
    }
}
return $formatted_array;    
Run Code Online (Sandbox Code Playgroud)

但如果$array有一个大的索引,那$formatted_array将比我需要的大.我尝试使用for具有多个条件的循环,但它似乎陷入无限循环.

我不是交易开发者,所以逻辑很难理解.我没有收到错误,因此很难理解我哪里出错了.

如何在数组结束或函数达到一定的迭代次数之前执行PHP循环?

php foreach loops for-loop while-loop

10
推荐指数
2
解决办法
3万
查看次数

使用Fancybox自动播放嵌入式Youtube视频

我在我的页面上有一个链接的图像,当点击它时会加载一个Fancybox模式框.它成功完成了这项工作,但我希望视频能够自动播放.如果我将YouTube网址设置为autoplay=1,则隐藏的DIV会在页面加载时在后台播放.

// Here is the linked image
<a id="inline" href="#video"><img src="someimage.jpg" alt="Description" /></a>

// Here is the hidden DIV
<div style="display:none">
  <div id="video">
    <iframe title="YouTube video player" width="640" height="390" src="###YOUTUBE LINK###rel=0&amp;hd=1&amp;autoplay=0" frameborder="0"></iframe>
  </div>
</div>

// Here is the script
<script type="text/javascript">
  $("a#inline").fancybox({
    'hideOnContentClick': true,
  });
</script>
Run Code Online (Sandbox Code Playgroud)

我的猜测是我需要做一些Bind()事件和字符串替换来改变autoplay=0,autoplay=1但我尝试了一些变化没有任何成功

有什么想法吗?

youtube jquery replace fancybox

5
推荐指数
1
解决办法
2万
查看次数

如何循环并向JSON对象添加值对?

使用jQuery SelectBox插件我正在尝试创建一个JSON对象,其外观如下所示,其中'value''name'是选择框的值对:

'Opt Group 1': {
    'value': 'name',
    'value': 'name',
    'value': 'name',
    'value': 'name',
    'value': 'name'
},
Run Code Online (Sandbox Code Playgroud)

因此,当我遍历我的数据时,我将更多数据推送到数组的末尾.目前,要显示'name'唯一,我使用以下内容:

var jsonObj = [];
for(var i=0; i<data.length; i++){
    jsonObj.push(data[i].name);
}
console.log(jsonObj);
Run Code Online (Sandbox Code Playgroud)

据我所知,JavaScript似乎不喜欢使用变量作为标识符,即我不能这样做: jsonObj.push({data[i].id:data[i].name});

我怎样才能创建我需要的那种JSON对象,以便根据需要使Select Box工作?

javascript arrays jquery json jquery-selectbox

3
推荐指数
1
解决办法
3万
查看次数

JQuery中的Uncaught TypeError是否来自代码冲突?

Tumblr的登录页面是许多人的灵感,作为一个业余爱好者开发者,我希望看到他们如何制作他们的登录表单.我拿走了多余的代码并提出了一个简化版本,如下所示:

<div id="login_form_container">
    <form method="post" action="logged-in.html" id="login_form">  
        <div class="input_wrapper">
            <label for="login_email">Email address</label>
            <input type="text" name="email" id="login_email" value="">
        </div>
        <button type="submit"><span>Log In</span></button>
    </form>
</div>
Run Code Online (Sandbox Code Playgroud)

看到我在其他页面上使用jQuery 1.3,我尝试使用以下内容来获得他们的好效果.这不是他们如何拥有它,而是一个非常简化的版本:

<script>
$("input#login_email").click(function () {
    $(".input_wrapper").addClass("blurred filled");
});  

$("input#login_email").blur(function () {
    $(".input_wrapper").removeClass("blurred");
});
</script>
Run Code Online (Sandbox Code Playgroud)

当这是页面上唯一的代码时,这很好用,但是当我把它放在带有其他jQuery的页面时,它会返回一个错误:

Uncaught TypeError: Cannot call method 'click' of null
    (anonymous function)
Run Code Online (Sandbox Code Playgroud)

无论是Chrome,Firefox还是Safari,它都是一样的,所以它显然只是我的代码.

有谁知道问题是什么?

  • 是否可能是由于页面中其他地方存在冲突的jQuery引用(这些都可以正常工作)?
  • 它更明显吗?
  • 是因为我还没有命名这些功能吗?

我很困惑为什么代码在隔离中工作,但在与页面中的其他元素结合时却不能.这让我很难过.

jquery jquery-selectors jquery-events

2
推荐指数
1
解决办法
8317
查看次数

使用正则表达式从URL获取字符串?

正则表达式是我的好消息,任何人都可以帮助我从URL中隔离字符串吗?

我想从URL中获取页面名称,该URL可以从输入表单中以下列任何方式显示:

https://www.facebook.com/PAGENAME?sk=wall&filter=2
http://www.facebook.com/PAGENAME?sk=wall&filter=2
www.facebook.com/PAGENAME
facebook.com/PAGENAME?sk=wall
Run Code Online (Sandbox Code Playgroud)

... 等等.

我似乎无法找到一种方法来隔离字符串之后.com/但之前?(如果存在的话).它是preg_match,替换还是拆分?

如果有人可以推荐一个特别清晰和介绍性的正则表达式指南,他们发现有用,我们将不胜感激.

php regex preg-replace preg-match

2
推荐指数
1
解决办法
574
查看次数

使用Facebook Javascript SDK获取管理页面弹出窗口?

我为Facebook SDK找到的大多数示例和教程都是用于发布到用户帐户.

作为使用Facebook PHP SDK但不使用Javascript SDK的人,我找不到以下示例或教程:

  1. 用户单击FB连接按钮
  2. 弹出窗口显示可管理的粉丝页面
  3. 用户选择他们希望我的网站管理的页面
  4. 我的网站获取所选页面的ID

在我的网站上,我不打算将信息发布到管理员的粉丝页面,而只是获取他们想要用于我的网站的页面的ID.感谢PHP SDK,我已经有了一种从管理员的粉丝页面中提取所需信息的方法.

有这样的指南吗?

facebook-page facebook-graph-api facebook-javascript-sdk facebook-php-sdk

0
推荐指数
1
解决办法
3150
查看次数