WordPress.org

Ready to get started?Download WordPress

Forums

Posts 2 Posts
JS error: Malformed response (7 posts)

  1. jrf
    Member
    Posted 7 months ago #

    When trying to connect posts/pages no pages/posts to connect to show up, effectively making the plugin unusable. In the js console I can see the following error:

    Malformed response {"rows":[{"columns":[{"column":"create","content":"<div data-item-id=\"823\" title=\"http:\/\/localhost\/wp\/_current\/2013\/10\/03\/demo-quote-test\/\">\n\t<span class=\"p2p-icon\"><\/span>\n\tdemo quote test<\/div>\n"}]},{"columns":[{"column":"create","content":"<div data-item-id=\"5\" title=\"http:\/\/localhost\/wp\/_current\/2013\/02\/08\/demo-post-2\/\">\n\t<span class=\"p2p-icon\"><\/span>\n\tDemo post 2<\/div>\n"}]},{"columns":[{"column":"create","content":"<div data-item-id=\"17\" title=\"http:\/\/localhost\/wp\/_current\/2012\/12\/15\/demo-post-2-2\/\">\n\t<span class=\"p2p-icon\"><\/span>\n\tDemo post 2<\/div>\n"}]},{"columns":[{"column":"create","content":"<div data-item-id=\"4\" title=\"http:\/\/localhost\/wp\/_current\/2012\/05\/07\/demo-post-1\/\">\n\t<span class=\"p2p-icon\"><\/span>\n\tDemo post 1<\/div>\n"}]},{"columns":[{"column":"create","content":"<div data-item-id=\"16\" title=\"http:\/\/localhost\/wp\/_current\/2011\/04\/03\/demo-post-1-2\/\">\n\t<span class=\"p2p-icon\"><\/span>\n\tDemo post 1<\/div>\n"}]}],"navigation":{"current-page":"1","total-pages":"2","total-pages-raw":2,"prev-inactive":"inactive","next-inactive":"","prev-label":"previous","next-label":"next","of-label":"of"}}

    http://wordpress.org/plugins/posts-to-posts/

  2. tedinoz
    Member
    Posted 4 months ago #

    Been there done that! The error is caused by the encoding of the file that registers your connection type.

    1 - Use your text editor to open the file that contains your connection registration (prob. functions.php).
    2 - Make sure the file encoding is without BOM.
    3 - Save the file
    4 - The connection box in the Edit Post screen should work.

    Ted

  3. jrf
    Member
    Posted 4 months ago #

    Thank you for taking the time to respond!

    Unfortunately I very much doubt that this would be my problem. The file is an ANSI file, not a Unicode encoded file, so no BOM....

  4. tedinoz
    Member
    Posted 4 months ago #

    Bummer... I have just (as in the last few days) finished debugging my own site which had EXACTLY this error message. Took me @50 hours to fix.

    1 = How are the consequences of the error visible/experienced? E.g. in my case, the list of candidates not render when I clicked "create connection" in the metabox on the "Edit Post" screen.

    2 = Is your connection registration code in functions.php or a separate plugin?

    3 = The BOM issue has caught me in the past, but I didn't think it would be a problem here because the error arose after doing an automatic upgrade of WP (3.5.1 to 3.8.1 - already tested on a local development system). So, I hear what you say about ANSI vs UTF, but have you actually opened the file, reset/confirmed the encoding, saved the file and re-tried the connections meta box?

    Ted

  5. davemee
    Member
    Posted 2 months ago #

    I'm seeing the same issues, WP 3.9.1 and Posts 2 Posts 1.6.3

    I have a child theme that contains only a style.css file (with just the WP Style declarations) and a functions.php file. In this file is the following code:

    <?php 
    
    function map_link_category_connection() {
    
        p2p_register_connection_type( array(
            'name' => 'outbound_node_to_node',
            'from' => 'node',
            'to'   => 'node',
            'reciprocal' => true,
            'duplicate_connections' => true,
            'can_create_post' => false,
            'fields' => array(
                'track' => array(
                    'title' => 'Track',
                    'type' => 'select',
                    'values' => array( 'None', 'Citizen Science', 'Data Production', 'Climate Science', 'Weather Derivatives' )
                )
            )
        ) );
    }
    
    add_action ('p2p_init', 'map_link_category_connection');
    ?>

    However, when I edit one of my 'Node' items, the 'create connection' sidebar panel has the persistent spinner when entering text into the 'Search Nodes' box.

    If I pull up Firefox and look at the console, I see the following, an error in 'box.js' on line 372:

    "Malformed response" "<div class="menu"><ul><li id="menu-item-2" class=""><a></a></li></ul></div>
    {"rows":[{"columns":[{"column":"create","content":"<div data-item-id=\"63\" title=\"http:\/\/slod.com:8080\/?node=financial-markets\">\n\t<span class=\"p2p-icon\"><\/span>\n\tFinancial Markets<\/div>\n"}]},{"columns":[{"column":"create","content":"<div data-item-id=\"59\" title=\"http:\/\/slod.com:8080\/?node=standards-wmo\">\n\t<span class=\"p2p-icon\"><\/span>\n\tStandards WMO<\/div>\n"}]},{"columns":[{"column":"create","content":"<div data-item-id=\"57\" title=\"http:\/\/slod.com:8080\/?node=policy-legal\">\n\t<span class=\"p2p-icon\"><\/span>\n\tPolicy Legal<\/div>\n"}]},{"columns":[{"column":"create","content":"<div data-item-id=\"55\" title=\"http:\/\/slod.com:8080\/?node=met-office\">\n\t<span class=\"p2p-icon\"><\/span>\n\tMet Office<\/div>\n"}]},{"columns":[{"column":"create","content":"<div data-item-id=\"53\" title=\"http:\/\/slod.com:8080\/?node=sheffield-weston-park\">\n\t<span class=\"p2p-icon\"><\/span>\n\tSheffield Weston Park<\/div>\n"}]}],"navigation":{"current-page":"1","total-pages":"3","total-pages-raw":3,"prev-inactive":"inactive","next-inactive":"","prev-label":"previous","next-label":"next","of-label":"of"}}" box.js:372
    12:46:15.217 "Malformed response" "<div class="menu"><ul><li id="menu-item-2" class=""><a></a></li></ul></div>
    "<div class=\"p2p-notice\">No Nodes Found<\/div>"" box.js:372
    12:46:43.429 POST http://slod.com:8080/wp-admin/admin-ajax.php [HTTP/1.1 200 OK 1097ms]
    12:47:43.433 POST http://slod.com:8080/wp-admin/admin-ajax.php [HTTP/1.1 200 OK 1280ms]
    12:49:46.899 POST http://slod.com:8080/wp-admin/admin-ajax.php [HTTP/1.1 200 OK 788ms]
    12:50:35.351 POST http://slod.com:8080/wp-admin/admin-ajax.php [HTTP/1.1 200 OK 1025ms]
    12:50:36.298 "Malformed response" "<div class="menu"><ul><li id="menu-item-2" class=""><a></a></li></ul></div>
    {"rows":[{"columns":[{"column":"create","content":"<div data-item-id=\"63\" title=\"http:\/\/slod.com:8080\/?node=financial-markets\">\n\t<span class=\"p2p-icon\"><\/span>\n\tFinancial Markets<\/div>\n"}]},{"columns":[{"column":"create","content":"<div data-item-id=\"59\" title=\"http:\/\/slod.com:8080\/?node=standards-wmo\">\n\t<span class=\"p2p-icon\"><\/span>\n\tStandards WMO<\/div>\n"}]},{"columns":[{"column":"create","content":"<div data-item-id=\"57\" title=\"http:\/\/slod.com:8080\/?node=policy-legal\">\n\t<span class=\"p2p-icon\"><\/span>\n\tPolicy Legal<\/div>\n"}]},{"columns":[{"column":"create","content":"<div data-item-id=\"55\" title=\"http:\/\/slod.com:8080\/?node=met-office\">\n\t<span class=\"p2p-icon\"><\/span>\n\tMet Office<\/div>\n"}]},{"columns":[{"column":"create","content":"<div data-item-id=\"53\" title=\"http:\/\/slod.com:8080\/?node=sheffield-weston-park\">\n\t<span class=\"p2p-icon\"><\/span>\n\tSheffield Weston Park<\/div>\n"}]}],"navigation":{"current-page":"1","total-pages":"3","total-pages-raw":3,"prev-inactive":"inactive","next-inactive":"","prev-label":"previous","next-label":"next","of-label":"of"}}"

    I tried changing the BOM of my functions.php, which was UTF-8 already (but not sure if it had the BOM) - I saved it through OSX TextEdit as UTF-8, which I believe is without a BOM on OSX Mavericks.

    I then used the following shell script to strip the BOM:

    sed -i .bak '1 s/^\xef\xbb\xbf//' *.php

    However, there was no change.

    What should be seen in the Ajax response? Should it be a mix of HTML and JSON data? Unless firebug is stripping things out, it seems a little suspect to have a direct inline mix of JavaScript and HTML without block boundaries... could this be what's causing the response to be described as 'malformed'?

  6. tedinoz
    Member
    Posted 2 months ago #

    davemee - Have you seen this post? It sounds a lot like your problem and Scribu (the plugin author) solves it too.

  7. davemee
    Member
    Posted 2 months ago #

    Hey, thanks for your suggestion, @tedinoz. My version seems different, so I switched to the Github version. Same error - surmised it must have been elsewhere. Found an errant <div> injection, so everything is working just fine now. Thanks!

Reply

You must log in to post.

About this Plugin

About this Topic

Tags

No tags yet.