我的ajax请求失败,但是上传了我的帖子

为什么我的ajax请求失败, 但仍上传我的帖子。我该如何防止失败。
我的ajax请求代码在:

createRate(){ var ourNewPost = { 'title': $(".new-rate-title").val(), 'content': $('.new-rate-body').val(), 'rate': $('.custom-star:checked').val(), 'productId': $('.submit-rate').data('id') }$.ajax({ // adding nonce key to make wordpress know we are looged in and has the permision to do that method. beforeSend: (xhr) => { xhr.setRequestHeader('X-WP-Nonce', ylsData.nonce); }, url: ylsData.root_url + '/wp-json/yls/v1/rating/', type: 'POST', data: ourNewPost, success: (response) => {console.log('congrats'); console.log(response); }, error: (response) => { console.log('failed'); console.log(response); } }); }

我的php自定义rest api代码:
add_action('rest_api_init', 'ylsRateRoute'); function ylsRateRoute(){ register_rest_route('yls/v1', 'rating', array( 'methods' => 'POST', 'callback'=> 'createLike' )); } function createLike($data){ if(is_user_logged_in()){ $title = sanitize_text_field($data['title']); $content = sanitize_text_field($data['content']); $rateNum = sanitize_text_field($data['rate']); $productId = sanitize_text_field($data['productId']); if(get_post_type($productId) == 'product'){ return wp_insert_post(array( 'post_type' => 'rate', 'post_status' => 'publish', 'post_title' => $title, 'post_content' => $content, 'meta_input' => array( 'rate_related_product' => $productId, 'rating_rate' => $rateNum ) )); }else{ die("Invalid product id"); } }else{ die("you must be logged in first"); } }

上载失败的图片:
控制台中的失败消息
我的ajax请求失败,但是上传了我的帖子

文章图片
如果我添加dataType:’ text’ , 它会成功, 但是端点返回有关我要阻止的帖子的所有这些详细信息。我只想保留方法wp_insert_post()返回的ID。它出现在ajax响应的responseText的末尾。
寻求所有帮助。
#1 【我的ajax请求失败,但是上传了我的帖子】在尝试解决这个问题很多小时之后, 我发现问题出在帖子类型名称上, 这是” 评分” , 可能是它从woocommerce或我在wordpress网站上使用的其他东西保存的帖子类型。但是我将其从” 费率” 更改为其他一切正常的工作。

    推荐阅读