[英]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.