ajax请求创建note

Published
April 23, 2022
浏览次数 :  3

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);
				},
			});

Top