【问题标题】:AJAX send post request REST API (Provisional headers are shown)AJAX 发送发布请求 REST API(显示临时标头)
【发布时间】:2019-12-24 08:54:25
【问题描述】:

我正在尝试将post request data 发送到我的api

api 在我的邮递员中运行良好,

但是在我的 laravel 项目中,我得到了这样的caution

显示临时标题

发送发布请求数据的 API

url: https://api.mydomain.com/api/login

{ "companyID":"2018-101", "password":"123456" }

Content-Type : application/json

Accept : application/json

在我的 Laravel 项目中,这是我的 ajax,它执行将 post 数据发送到 api

$.ajax({
      headers:{'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
      url: "https://api.mydomain.com/api/login",
      method: "POST",
      data:{
           companyID:"2018-101",
           password:"123456"
      }, 
      dataType: "json",
      success:function(data)
      {
           alert("Successfully Login!");
      },
      error: function(xhr, ajaxOptions, thrownError){
      console.log(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
      }
});

这是我的Cors.php

<?php

namespace App\Http\Middleware;

use Closure;

class Cors
{
/**
 * Handle an incoming request.
 *a
 * @param  \Illuminate\Http\Request  $request
 * @param  \Closure  $next
 * @return mixed
 */

 public function handle($request, Closure $next) {

    return $next($request)
      ->header('Access-Control-Allow-Origin', '*')
      ->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS')
      ->header('Access-Control-Allow-Headers',' Origin, Content-Type, Accept, Authorization, X-Request-With')
      ->header('Access-Control-Allow-Credentials',' true');
    }
   }

我的内核.php

\App\Http\Middleware\Cors::class,

更新

试图改变

data:{ companyID:"2018-101", password:"123456" },

data: JSON.stringify({ "companyID": "2018-101", "password" : "123456" }),

contentType: "application/json",

【问题讨论】:

  • 你试过不同的浏览器吗?可能是某些扩展程序阻止了它。
  • 对于初学者,您的 "API to Send Post Request Data" 部分将请求负载显示为 JSON,但您的 jQuery 代码正在发送 application/x-www-form-urlencoded 请求正文。您使用 Postman 发布的格式是什么?
  • 在我的邮递员中发送请求时我使用 application/json 格式这是我发送给邮递员{ "companyID":"2018-101", "password":"123456" }的示例 json 格式
  • 这有帮助吗~jQuery posting JSON?
  • 实际错误是什么?此问题中的任何内容均未显示错误消息。请求的响应是什么?

标签: javascript ajax laravel rest


【解决方案1】:

删除headers:{'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},

 $.ajax({
       url: "https://api.mydomain.com/api/login",
       method: "POST",
       data:{ companyID:"2018-101", password:"123456" }, 
       dataType: "json",
       success:function(data)
       {
            alert(data.data.access_token);
       },
       error: function(xhr, ajaxOptions, thrownError){
            console.log(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
       }
       });

【讨论】:

    猜你喜欢
    • 2011-10-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-03
    • 2013-05-18
    相关资源
    最近更新 更多