【问题标题】:500 Server Error on posting Javascript variable to external Laravel Application(PHP)将 Javascript 变量发布到外部 Laravel 应用程序(PHP)时出现 500 服务器错误
【发布时间】:2015-09-02 16:51:55
【问题描述】:

当然,有很多与将 javascript 变量发布到外部 Laravel(PHP) 文件相关的线程。尝试了社区给出的几乎所有答案,最终在我的 javascript 控制台上使用了这台服务器 500。

让我们解释清楚: 我正在使用 XAMMP 进行本地开发和两个不同的独立目录,即“A”和“B”。“A”是纯 javascript 文件“B”是 Laravel(PHP)。现在我将“A”的变量发布到“B”的控制器功能。

"A" -->在JS端

var variableValue='abc';

$.post('http://localhost/B/public/api/tfs', {variable:variableValue});

"B"--->外部Laravel函数端

public function index()
{
 $variable =Input::get('destinationLatitude');
  return json_encode($variable);

}

在“B”路线上

Route::resource('tfs', 'FtsController', 
        array('except' => array('create', 'edit', 'update')));

-->我尝试使用 POST 而不是资源,但无效。

在尝试了很多之后,我得到了服务器 500 内部服务器错误。我处理 http.conf.htaccess 文件也没有用。 所以,请任何人帮助我将 javascript 变量发布到 laravel 控制器函数。

注意:我不想在“B”上包含<script>A.js</script>,因为以后将无法访问它。所以,AJAX是我唯一想到的方式。

【问题讨论】:

    标签: javascript php ajax laravel laravel-4


    【解决方案1】:

    首先,将$variable =Input::get('variableValue');改为

    $variable =Input::get('variable');

    你在这里传递variableValue AS variable

    $.post('http://localhost/B/public/api/tfs', {variable:variableValue});
    

    当我做这样的事情时,我会写这样的东西:

    routes.php

    Route::post('/api/test', 'TestController@start');
    

    TestController.php

    <?php
    
    class TestController extends BaseController {
    
        public function start(){
            $variable = Input::get('variable');
            return json_encode($variable);
        }
    }
    

    Javascript

    $.post('/api/test', {variable:variableValue});
    

    【讨论】:

    • 相同的 500 内部服务器错误,我按照您的修改,但.. 无效。
    • @user3165034 能否手动将数据推送到控制器并运行它看看是否有效?
    • 是的..手动推送数据正在工作..我为此使用了 Postman google chrome Addon,我的 laravel 应用程序正在捕获变量并显示成功结果。
    • @user3165034 好的,您确定正在发送 ajax 请求吗?什么时候出现这个错误?在网络浏览器控制台中?
    • 啊..最后服务器错误 500 是求解器 @Gustaf 谢谢你,但我的 ajax 发布请求是将查询参数附加到发布 URL.. $.post('localhost/applo/public/api/tfs', {'变量':'csdc'}); ....并且还尝试了 $.post('localhost/applo/public/api/tfs', {variabl':'csdc'});并且还尝试使用定义的变量来代替“csdc”。但是当我手动将查询参数作为 /api/tfs?variable=csdc 传递给 URL 时,它正在工作。所以,我认为问题出在 Ajax POST 方面?你能帮我吗
    猜你喜欢
    • 2014-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-16
    • 2016-02-03
    • 1970-01-01
    • 2019-11-27
    相关资源
    最近更新 更多