接收 HTTPXMLResponse 500 '内部服务错误'

问题描述

我正在使用 apache 服务器,使用 javascript 捕获表单数据并通过 XHR 将表单数据发送到 PHP 端点。

编辑:我的代码在本地运行良好,但在实时站点上返回 500 内部服务器错误以及未捕获的语法错误

下面是javascript文件中的XHR,未捕获的语法错误发生在第4行(onload())和第5行(JSON输入的意外结束):

index.js

var xhr = new XMLHttpRequest();
  xhr.open('POST',submitUrl,true);
  xhr.setRequestHeader('Content-Type','application/json');
  xhr.onload = () => {
    var response = JSON.parse(xhr.responseText);
    console.log(response);
    if (response.error === 'member-exists') {
        setAlreadySubscribed();
        showStatusAndHideForm();
    } else if (response.error === 'none') {
        setSuccess();
        showStatusAndHideForm();
    } else {
        alertUnkNownError();
        enableForm();
      }
  }
  xhr.send(body);
})

下面是 PHP,它通过 cURL 将数据发布到外部 API:

submitUrl.PHP

$ch = curl_init('https://foo');
curl_setopt_array($ch,array(
     CURLOPT_POST => TRUE,CURLOPT_RETURNTRANSFER => TRUE,CURLOPT_HTTPHEADER => array(
         'Authorization: apikey '.$authToken,'Content-Type: application/json'
     ),CURLOPT_POSTFIELDS => $userdata
 ),);

 $result = curl_exec($ch);

然后我解码 cURL $result 以检查来自外部 API 的错误,并将它们编码以发送回 XHR。

Devtools 在 index.js 的第 18 行显示 500 错误

关于为什么会发生这种情况的任何想法?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)