【发布时间】: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