ajax请求创建note
Published
2022-04-23
浏览次数 : 180
var ourNewPost = {
'title':$('.new-note-title').val(), //跟rest api里面的obeject里面的item完全对应
'content':$(".new-note-body").val(),
'status':'publish', //设置status 为 private是最基本的方法,来实现发布的内容为private 仅作者自己可见并在rest api 隐藏。 更安全的方法的话要利用下面的js ,所以这里把status设置为publish. 注意;这个特征是client side feature 是客户端特征, 不能依靠去强迫改变status, 需要从服务器特征进行更改保证安全。 需要从functions.php里面去添加filter来实现。
}
$.ajax(
//ajax tool control what request you want send
{ //{ 大括号是创建javascript object}
beforeSend:(xhr) => {
xhr.setRequestHeader('X-WP-Nonce',universityData.nonce);
},
url:universityData.root_url + '/wp-json/wp/v2/note/', //再POST的request里这个网址就是创建或者接受note有关的信息的,用GET的request的话就会收到十个note有关文章的json数据。
type:'POST', //send POST request Wordpress就会发送创造新帖子的请求
data:ourNewPost, //send data along with request 传递参数
success:(response) => {
$(".new-note-title,.new-note-body").val('');
$(`<li data-id="${response.id}">
<input readonly class="note-title-field" type="text" value="${response.title.raw}">
<span class="edit-note">
<i class="fa fa-pencil" aria-hidden="true"></i>
Edit
</span>
<span class="delete-note">
<i class="fa fa-trash-o" aria-hidden="true"></i>
Delete
</span>
<textarea readonly name="" id="" class="note-body-field" rows="10" cols="30">${response.content.raw}
</textarea>
<span class="update-note btn btn--blue btn--small">
<i class="fa fa-arrow-right" aria-hidden="true"></i>
Save
</span>
</li>`).prependTo("#my-notes").hide().slideDown();
console.log("Congrates!");
console.log(response);
},
error:(response) => {
if (response.responseText == "You have reached your note limit!") {
$(".note-limit-message").addClass("active");
}
console.log("Sorry");
console.log(response);
},
});
- 标签1
- 标签1
- 标签1