簡體   English   中英

XMLHTTPRequest 發送數據

[英]XMLHTTPRequest send data

我想用 WordPress 在數據庫中添加帖子。 我試過這個代碼。

wordpress\\wp-content\\themes\\twentyseventeen\\index.php:

 <div class="admin-quick-add"> <h3>Quick Add post</h3> <input type="text" name="title" placeholder="Title"> <textarea name="content" placeholder="Content"></textarea> <button id="quick-add-button">Create Post</button> </div>

wordpress\\wp-content\\themes\\twentyseventeen\\assets\\js:

 quickAddButton = document.querySelector("#quick-add-button"); if (quickAddButton) { quickAddButton.addEventListener("click", function() { var OurPOSTData = { "title": document.querySelector('.admin-quick-add [name="title"]').value, "content": document.querySelector('.admin-quick-add [name="content"]').value, "status": "publish", } //alert (JSON.stringify(OurPOSTData)); var createPost = new XMLHttpRequest(); createPost.open('POST', 'http://localhost/wordpress/wp-json/wp/v2/posts'); createPost.setRequestHeader("X-WP-Nonce", magicalData.nonce); createPost.setRequestHeader("Content-Type", "application/json; charset=utf-8"); createPost.send(JSON.stringify(OurPOSTData)); }); }

wordpress\\wp-content\\themes\\twentyseventeen\\functions.php

function twentyseventeen_scripts() {
/* Some code */

// My Script
wp_enqueue_script( 'main_js',  get_theme_file_uri( '/assets/js/main.js' ), NULL, 1.0, true);  /* Some code */ } add_action( 'wp_enqueue_scripts', 'twentyseventeen_scripts' );

但它不起作用。

嘗試這個

添加您的用戶名和密碼

quickAddButton = document.querySelector("#quick-add-button");

if (quickAddButton) {
quickAddButton.addEventListener("click", function() {
    var OurPOSTData = {
        "title": document.querySelector('.admin-quick-add [name="title"]').value,
        "content": document.querySelector('.admin-quick-add [name="content"]').value,
        "status": "publish",
    }

    //alert (JSON.stringify(OurPOSTData));

    var createPost = new XMLHttpRequest();
    createPost.open('POST', 'http://localhost/wordpress/wp-json/wp/v2/posts');
    createPost.setRequestHeader("X-WP-Nonce", magicalData.nonce);
    createPost.setRequestHeader("Content-Type", "application/json; charset=utf-8");
    createPost.setRequestHeader('Authorization', 'Basic ' + window.btoa("username:password"));
    createPost.send(JSON.stringify(OurPOSTData));
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM