Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript c、 apply不是一个函数_Javascript_Jquery - Fatal编程技术网

Javascript c、 apply不是一个函数

Javascript c、 apply不是一个函数,javascript,jquery,Javascript,Jquery,此代码告诉我此错误:c.apply不是一个函数 只有使用一个函数,所有代码才能正常工作。但是我不确定如何使用这两个函数。这些说法可能是错误的: postHandler(<?php echo get_posts($db, 0, $_SESSION['posts_start']); ?>, <?php echo get_posts1($db, 0, $_SESSION['posts_start']); ?>); 剧本 第一个功能 function get_posts($d

此代码告诉我此错误:
c.apply不是一个函数
只有使用一个函数,所有代码才能正常工作。但是我不确定如何使用这两个函数。这些说法可能是错误的:

 postHandler(<?php echo get_posts($db, 0, $_SESSION['posts_start']); ?>, <?php echo get_posts1($db, 0, $_SESSION['posts_start']); ?>);
剧本

第一个功能

function get_posts($db, $start, $number_of_posts) {
       //code
            return json_encode($posts);
        }
function get_posts1($db, $start, $number_of_posts) {
       //code
            return json_encode($posts1);
        }
输出:

string '[{"username":"Altitude software","foto_oferta":"thumb\/miniaturas\/oferta\/default_offer.jpg","actividades":"Some activities","id_oferta":77,"oferta":"Programador web" ...
string '[{"id_offer":77,"tags":["c++","JAVA"]},{"id_offer":76,"tags":["ajax","php"]},{"id_offer":75,"tags":["PHP","JAVA"]}]'
第二功能

function get_posts($db, $start, $number_of_posts) {
       //code
            return json_encode($posts);
        }
function get_posts1($db, $start, $number_of_posts) {
       //code
            return json_encode($posts1);
        }
输出:

string '[{"username":"Altitude software","foto_oferta":"thumb\/miniaturas\/oferta\/default_offer.jpg","actividades":"Some activities","id_oferta":77,"oferta":"Programador web" ...
string '[{"id_offer":77,"tags":["c++","JAVA"]},{"id_offer":76,"tags":["ajax","php"]},{"id_offer":75,"tags":["PHP","JAVA"]}]'
js

var postHandler = function(postsJSON, postsJSON1) {
                $.each(postsJSON, postsJSON1, function(i, post, post1) {
                    var id = 'post-' + post.id_oferta;

                    $('<div></div>').addClass('post').attr('id',id)
                    .html('<div class="box_offers"><div class="rating_offer"></div><div class="post-title">' 
                            + post.oferta + '</div>  <div class="post-box"> <a class="oferta_val bold_username">'
                            + post1.tags + '</a></div><a id='+id+'hide class="post-more" >Descrição</a><div class="logo_offer">')
                            .appendTo($('#posts'));

                    $('#'+id+'hide').click(function() {
                        $('.'+id+'hidden').slideToggle('fast');
                    });
                }); 
            };

postHandler(<?php echo get_posts($db, 0, $_SESSION['posts_start']); ?>, <?php echo get_posts1($db, 0, $_SESSION['posts_start']); ?>);
var postHandler=function(postsJSON,postsJSON1){
$.each(postsJSON,postsJSON1,function(i,post,post1){
变量id='post-'+post.id_of erta;
$('').addClass('post').attr('id',id)
.html(“”
+post.oferta+“”
+post1.tags+“descripção')
。附件($(“#职位”);
$('#'+id+'hide')。单击(函数(){
$('.+id+'hidden')。滑动切换('fast');
});
}); 
};
后处理程序(,);

我认为问题在于这一行:

$.each(postsJSON, postsJSON1, function(i, post, post1) { 
该函数只接受两个参数,其中第二个参数应该是函数。类似地,您提供的回调函数应该包含两个参数

关于同时提供两个对象进行迭代,您的意图是什么?如果你能描述你的数据结构并解释你想做什么,我可以提出一些建议。(显示您的JSON…)

更新:确定,根据问题更新
postsJSON
postsJSON1
都是数组。考虑到您试图从同一个函数内部使用这两个元素的方式,数组中的元素似乎具有一对一的关系,即,
postsJSON[0]
postsJSON1[0]
相关,
postsJSON1[1]
postsJSON1[1]
相关,
postsjsson[2]
postsjsson1相关[2] 
,等等

如果是这种情况,对现有代码的最小可能更改是:

var postHandler = function(postsJSON, postsJSON1) {
   $.each(postsJSON, function(i, post) {
      var post1 = postsJSON1[i];

      // the rest of your code from inside your $.each() here
   });
};
也就是说,继续使用
$。each()
,但请注意,它一次只能直接迭代一个数组。通过手动将提供的索引
i
设置为函数的第一行,可以并行迭代另一个数组

或者更明显的方法是使用传统的
for
循环:

var postHandler = function(postsJSON, postsJSON1) {
   var i, post, post1;
   for (i = 0; i < postsJSON.length; i++) {
      post = postsJSON[i];
      post1 = postsJSON1[i];

      // the rest of your code from inside your $.each() here
   }    
};
var postHandler=function(postsJSON,postsJSON1){
变量i,post,post1;
对于(i=0;i

任何一种方法都将并行处理两个数组。显然,这假设数组的长度相同,并且任何给定索引号处的项目都将是您希望如上所述相互关联的项目-如果不是,则您需要提供有关数组如何关联的更详细信息。

我已经发布了一个答案,说明了你得到了这个错误,但是如果你能更新你的问题,给出你的PHP返回的两个对象的结构(即,
postsJSON
postsJSON1
参数中的结果),我可以给你一些代码来并行迭代这两个对象,这应该可以与你现有的代码一起工作(我只是不想浪费时间根据猜测来写)@nnnnnn问题是:我有一个查询,返回用户名、id、local、offer等。但我需要另一个函数,因为我需要为每个offer获取标记。主要问题是每个offer都可以获得许多标记,因此对于每个offer,我需要两个php函数的数据。json输出非常庞大,只需使用一个php函数就可以延迟json输出示例每行中有两行数据,并指示它们之间的关系。现有代码意味着
postsJSON
postsJSON1
具有属性或元素(取决于它们是普通对象还是数组)这是一对一。它们是数组吗?我需要两个不同的函数,因为我有两个不同的查询。可以传递多个参数吗?