Php 否';访问控制允许原点';即使来自同一域的其他请求也在工作
我有一个奇怪的错误,没有“Access Control Allow Origin”标题。我知道我必须给源域(客户端)一些权限才能访问服务器,这与我提出的其他一些请求很好。但当涉及到另一个要调用的函数时,它只表示没有“访问控制允许源”头 我的客户端托管在heroku,服务器托管在godaddy 这是该错误显示时的函数:Php 否';访问控制允许原点';即使来自同一域的其他请求也在工作,php,cors,Php,Cors,我有一个奇怪的错误,没有“Access Control Allow Origin”标题。我知道我必须给源域(客户端)一些权限才能访问服务器,这与我提出的其他一些请求很好。但当涉及到另一个要调用的函数时,它只表示没有“访问控制允许源”头 我的客户端托管在heroku,服务器托管在godaddy 这是该错误显示时的函数: public function store(Request $request) { $ffSpending = new FriendsFamilySpending();
public function store(Request $request)
{
$ffSpending = new FriendsFamilySpending();
$ffSpending->user_id = Auth::user()->id;
$ffSpending->team_id = Auth::user()->student->team_id;
$ffSpending->management_units = $request->input('management_units');
$ffSpending->sales_units = $request->input('sales_units');
$ffSpending->product_units = $request->input('product_units');
$ffSpending->ip_units = $request->input('ip_units');
$ffSpendingRules = array(
'management_units' => 'required',
'sales_units' => 'required',
'product_units' => 'required',
'ip_units' => 'required'
);
$ffSpendingValidator = \Validator::make($ffSpending->getAttributes(), $ffSpendingRules);
if ($ffSpendingValidator->passes()) {
$team = Team::find($ffSpending->team_id);
$currentBalance = $this->teamService->checkBalance($team);
//Baseline costs
$BASELINE = FriendsFamilySpending::BASELINE;
//Get Prices for each unit
$IP_ONE_TIME_COST = OperationalExpensePrice::getPrice(OperationalExpense::IP, $request->input('ip_units'), OperationalExpenseSerie::FF);//one-time IP costs
$MANAGEMENT = OperationalExpensePrice::getPrice(OperationalExpense::MANAGEMENT, $request->input('management_units'), OperationalExpenseSerie::FF);
$SALES = OperationalExpensePrice::getPrice(OperationalExpense::SALES, $request->input('sales_units'), OperationalExpenseSerie::FF);
$PRODUCT = OperationalExpensePrice::getPrice(OperationalExpense::PRODUCT, $request->input('product_units'), OperationalExpenseSerie::FF);
//Monthly Costs
$quartlyCosts = $BASELINE + $MANAGEMENT + $SALES + $PRODUCT;
$newBalance = $currentBalance;
$workingMoney = $newBalance - $IP_ONE_TIME_COST;
$minimumMonth = 12; // the minimum amount of time they must be able to afford (Staging Day = 12 months)
//Calculate how many months they (team) can survive
$survivingMonths = 0;
while ($workingMoney >= $quartlyCosts) {
$workingMoney = $workingMoney - $quartlyCosts; //deduct monthly costs from the current working money
$survivingMonths = $survivingMonths + 3; // quartly spending
if ($survivingMonths > 24) { // team survives the whole staging and deal day
break;
}
}
// month to minute - Conversation ratio
$monthToMinute = 6.25; // (75min / 12month) = 6.25min a month
$totalMinutes = $survivingMonths * $monthToMinute;
$minMinutes = 75; //the minimum amount of time they must be able to afford
//Check if team makes it till the deal day
if ($survivingMonths < $minimumMonth) {
return response()->json(['message' => 'With your current spending plan, you will not make it to deal day. Please try again with less spending plan. Currently you run out of money after ' . $totalMinutes . ' minutes. You have to survive at least 75 minutes."', 'success' => false, 'status' => 500, 'data' => null]);
}
$ffSpendingRes = $this->ffSpendingService->save($ffSpending);
if ($ffSpendingRes) {
$this->ffSpendingService->score(Auth::user()->student->team->class_id); // update ff spending scoring
$this->ffSpendingService->updateTotalScore(Auth::user()->student->team->class_id);
//Update balance
$team = Team::find($ffSpending->team_id);
$this->teamService->updateBalance($team, $workingMoney);
if ($survivingMonths >= $minimumMonth && $survivingMonths < 24) {
$survivingMonthsAfterStagingDay = $survivingMonths - $minimumMonth;
$survivingMonthsAfterStagingDayToMinute = $survivingMonthsAfterStagingDay * $monthToMinute;
$outOfMoney = new OutOfMoney();
$outOfMoney->team_id = Auth::user()->student->team_id;
$outOfMoney->stage = OutOfMoney::$FF_SPENDING;
$outOfMoney->is_running_out_of_money_on_deal_day = 1;
$outOfMoney->month = $survivingMonthsAfterStagingDay;
$outOfMoney->minutes = $survivingMonthsAfterStagingDayToMinute;
$outOfMoney->monthly_cost = $quartlyCosts;
$outOfMoney->save();
} else {
$outOfMoney = new OutOfMoney();
$outOfMoney->team_id = Auth::user()->student->team_id;
$outOfMoney->stage = OutOfMoney::$FF_SPENDING;
$outOfMoney->is_running_out_of_money_on_deal_day = 0;
$outOfMoney->monthly_cost = $quartlyCosts;
$outOfMoney->save();
}
return response()->json(['message' => 'Success', 'success' => true, 'status' => 200, 'data' => $ffSpending]);
} else {
return response()->json(['message' => 'Error', 'success' => false, 'status' => 500, 'data' => null]);
}
} else {
return response()->json(['message' => 'Validation Failed', 'success' => false, 'status' => 400, 'data' => array('class' => $ffSpendingRules)]);
}
公共函数存储(请求$Request)
{
$FFExpanding=新朋友家庭待定();
$FFExpensing->user_id=Auth::user()->id;
$FFExpanding->team_id=Auth::user()->student->team_id;
$FFExpanding->management_units=$request->input('management_units');
$FFExpension->sales_units=$request->input('sales_units');
$FFExpension->product_units=$request->input('product_units');
$FFExpanding->ip_units=$request->input('ip_units');
$ffSpendingRules=数组(
“管理单元”=>“必需”,
“销售单位”=>“必需”,
“产品单位”=>“必需”,
“ip_单位”=>“必需”
);
$ffSpendingValidator=\Validator::make($ffSpending->getAttributes(),$ffSpendingRules);
如果($ffSpendingValidator->passes()){
$team=team::find($ffexpanding->team_id);
$currentBalance=$this->teamService->checkBalance($team);
//基线成本
$BASELINE=FriendsFamilySpending::BASELINE;
//获取每个单元的价格
$IP_ONE_TIME_COST=OperationalExpensePrice::getPrice(OperationalExpense::IP,$request->input('IP_units'),OperationalExpenseSerie::FF);//一次性IP成本
$MANAGEMENT=OperationalExpensePrice::getPrice(OperationalExpense::MANAGEMENT,$request->input('MANAGEMENT_units'),OperationalExpenseSerie::FF);
$SALES=OperationalExpensePrice::getPrice(OperationalExpense::SALES,$request->input('SALES_units'),OperationalExpenseSerie::FF);
$PRODUCT=OperationalExpensePrice::getPrice(OperationalExpense::PRODUCT,$request->input('PRODUCT_units'),OperationalExpenseSerie::FF);
//每月费用
$quartlyCosts=$BASELINE+$MANAGEMENT+$SALES+$PRODUCT;
$newBalance=$currentBalance;
$workingMoney=$newBalance-$IP\u一次性成本;
$minimumMonth=12;//他们必须能够负担的最短时间(分段日=12个月)
//计算他们(团队)能活几个月
$survivingMonths=0;
而($workingMoney>=$quartlyCosts){
$workingMoney=$workingMoney-$quartlyCosts;//从当前的营运资金中扣除每月成本
$survivingMonths=$survivingMonths+3;//四分之一支出
如果($survivingMonths>24){//团队在整个阶段和交易日都能生存下来
打破
}
}
//月与分钟的对话比率
$monthtomin=6.25;/(75分钟/12个月)=每月6.25分钟
$totalMinutes=$SurvivingMonthMonts*$MonthToMinutes;
$minMinutes=75;//他们必须能够承受的最短时间
//检查团队是否在交易日前完成交易
if($surviving month<$minimumMonth){
return response()->json(['message'=>'使用您当前的支出计划,您将无法进入交易日。请使用较少的支出计划重试。当前您在“$totalMinutes.”分钟后耗尽资金。您必须至少生存75分钟。“,'success'=>false,'status'=>500,'data'=>null]);
}
$ffSpendingRes=$this->ffSpendingService->save($ffSpending);
如果($ffSpendingRes){
$this->ffSpendingService->score(Auth::user()->student->team->class_id);//更新ff支出得分
$this->ffSpendingService->updateTotalScore(Auth::user()->student->team->class_id);
//更新余额
$team=team::find($ffexpanding->team_id);
$this->teamService->updateBalance($team,$workingMoney);
如果($survivingMonths>=$minimummMonth&&$survivingMonths<24){
$survivingMonthsAfterStagingDay=$survivingments-$minimumMonth;
$survivingMonthsAfterStagingDayToMinute=$survivingMonthsAfterStagingDay*$monthToMinute;
$outOfMoney=新的outOfMoney();
$outOfMoney->team\u id=Auth::user()->student->team\u id;
$outOfMoney->stage=outOfMoney::$FF\u支出;
$outOfMoney->交易日的资金是否用完=1;
$outOfMoney->month=$survivingMonthsAfterStagingDay;
$outOfMoney->minutes=$survivingMonthsAfterStagingDayToMinute;
$outOfMoney->每月成本=$quartlyCosts;
$outOfMoney->save();
}否则{
$outOfMoney=新的outOfMoney();
$outOfMoney->team\u id=Auth::user()->student->team\u id;
$outOfMoney->stage=outOfMoney::$FF\u支出;
$outOfMoney->交易日的资金是否用完=0;
$outOfMoney->每月成本=$quartlyCosts;
$outOfMoney->save();
}
return response()->json(['message'=>'Success','Success'=>true,'status'=>200,'data'=>$ffexpanding]);
}否则{
return response()->json(['message'=>Error','success'=>false,'status'=>500,'data'=>null]);
}
}否则{
return response()->json(['message'=>'验证失败','success'=>false,'status'=>400,'data'=>array('class'=>$ffSpendingRules)]);
}
注意:如果我更改函数并使其简单化,如返回“test”,它将不再显示源访问错误。
我想知道函数是否有任何问题,为什么它不显示实际错误,而是显示cors错误
有什么建议吗?正在发生的是OR
'allowedMethods' => ['GET', 'POST', 'PUT', 'DELETE', 'ORIGINS']