【问题标题】:Uncaught SyntaxError: Unexpected token < - WordpressUncaught SyntaxError: Unexpected token < - Wordpress
【发布时间】:2014-05-13 16:30:01
【问题描述】:

我正在使用Penny 拍卖主题,我收到以下错误消息:

Uncaught SyntaxError: Unexpected token <     penny_scripts.js:126

当我展开它显示的错误时:

(anonymous function)   penny_scripts.js:126
$.ajax.success         smart-updater.js:146
j                      jquery.js?ver=1.11.0:2
k.fireWith             jquery.js?ver=1.11.0:2
x                      jquery.js?ver=1.11.0:4
b                      jquery.js?ver=1.11.0:4

penny_scripts.js 的第 126 行是

var myObj = eval("(" + data + ")");
for (var i = 0; i < myObj.length; i++) <---This line
{
    pid                 = myObj[i].pid;
    rnd                 = myObj[i].rnd;
    remaining_time      = myObj[i].remaining_time;
    current_bid         = myObj[i].current_bid;

如果我这样做alert(data);,那么我会收到以下消息

functions.php 的第 1092 行是:

$info = array(); global $wpdb;
$my_arr = $_POST['my_values'];
$OKOK = $_POST['OKOK'];

foreach($my_arr as $id_plus_rand)
{
$exp = explode("_",$id_plus_rand);
$pid = $exp[0];
$rnd = $exp[1];

//----------------------
$newpid = array();  

$highest_bidder_id  = PennyTheme_get_highest_bid_owner_obj($pid);

if($highest_bidder_id == false) $highest_bidder = "0";
else {

    $s = "select user_login from ".$wpdb->users." where ID='{$highest_bidder_id->uid}'";
    $r = $wpdb->get_results($s); $r = $r[0];
    $highest_bidder =   $r->user_login;

}       

$newpid['highest_bidder'] = $highest_bidder;    
$newpid['highest_bidder_id'] = $highest_bidder_id->id;      
$newpid['pid'] = $pid;
$newpid['rnd'] = $rnd;
$newpid['remaining_time'] = get_post_meta($pid, 'ending', true) - current_time('timestamp',0);
$newpid['current_bid'] = PennyTheme_get_show_price(get_post_meta($pid, 'current_bid', true));


if($OKOK == "1"):

//$closed = get_post_meta($pid, 'closed', true);
//$post = get_post($pid);               

$bids = "select * from ".$wpdb->prefix."penny_bids where pid='$pid' order by id DESC limit 13";
$res  = $wpdb->get_results($bids);

$all_bids = '';

if(count($res) > 0)
{
    $all_bids .= '<table width="100%">';
    $all_bids .= '<thead><tr>';
    $all_bids .= '<th>'.__('Username','PennyTheme').'</th>';
    $all_bids .= '<th>'.__('Bid Amount','PennyTheme').'</th>';
    //      echo '<th>'.__('Date Made','PennyTheme').'</th>';

    $all_bids .= '</tr></thead><tbody>';
    //-------------

    foreach($res as $row)
    {
        $user = get_userdata($row->uid);
        $s = "select user_login from ".$wpdb->users." where ID='{$row->uid}'";
        $r = $wpdb->get_results($s);

        $all_bids .= '<tr>';
        $all_bids .= '<th>'.$r[0]->user_login.'</th>';
        $all_bids .= '<th>'.PennyTheme_get_show_price($row->bid).'</th>';
        //  echo '<th>'.date("d-M-Y H:i:s", $row->date_made).'</th>';

        $all_bids .= '</tr>';

    }

    $all_bids .= '</tbody></table>';
}
else $all_bids .= __("No bids placed yet.", 'PennyTheme');

$newpid['bidders'] = $all_bids;
endif;

array_push($info,$newpid); 

}
header('Content-type: application/json');   <---Line 1092

smart-update.js 的第 146 行是:

if(es.rCallback && rCallback && es.rCallback.search(rCallback) != -1) {
window[rCallback](data);
} else  { 
es.callback(data);  <---This line
}

plugin.php 的第 1395 行:

function remove_menu_page( $menu_slug ) {
global $menu;

foreach ( $menu as $i => $item ) {  <-- This line
    if ( $menu_slug == $item[2] ) {
        unset( $menu[$i] );
        return $item;
    }
}

return false;
 }

我仅在我未登录网站或使用用户级别低于Contributor 的帐户登录时收到此错误消息。

我不确定为什么会发生这种情况或如何解决此问题。任何帮助表示赞赏。

【问题讨论】:

  • 错误出现在 PHP 中 - wp-admin/includes/plugin.php 的第 1395 行中的 foreach 循环尝试迭代不同于数组的内容。错误消息阻止发送更多标头。此外,在预期 JSON 时会生成 HTML。 JS报错这里只是PHP问题的结果。您的 WP 插件有问题。
  • 我已经添加了 plugin.php 文件第 1395 行的内容。
  • 显示第 1092 行之前的内容
  • @brasofilo,你是。另一个plugin 使用的是admin_menu,我使用的是它的旧版本。更新插件后错误停止
  • 很高兴知道。我不止一次看到通知和警告因此而被转储...然后溢出到您的 JS...

标签: javascript php jquery wordpress wordpress-theming


【解决方案1】:

上述问题是由我在我的网站上启用的plugin 引起的。当我更新它时,错误停止了。 2.19.5 或更高版本不会发生该错误。 2.19.5 的变更日志

  • Remove Testimonials menu for authors remove code
  • 需要 Aihrus 框架 1.1.4
  • 修改高级介绍
  • 更新高级链接

【讨论】:

    猜你喜欢
    • 2017-01-14
    • 2012-01-30
    • 2011-12-01
    • 2012-09-12
    • 2012-05-17
    • 2019-02-10
    • 2014-07-08
    • 2011-03-09
    • 2014-01-06
    相关资源
    最近更新 更多