jQuery AJAX call to PHP Controller

二次信任 提交于 2019-12-22 09:56:48

问题


I am calling a controller (Codeigniter) through jQuery. My dataString variable contains a simple string, which I'm trying to pass through to my controller, so I can pass it into the model. However, I'm getting an error that indicates that my $test_var is undefined. What am I doing wrong?

$('a.test').click(function (event) {


    dataString = $(this).attr('name'); 
        $.ajax({
        type:"POST",
        url:"<?php echo base_url(); ?>controller_name/",
        data:dataString,
        success:function (data) {
        alert('test');
        }

    });
    event.preventDefault();
});

controller


$test_var= $this->input->post('dataString');


回答1:


Try using a name=value pair:

$('a.test').click(function (event) {


    dataString = $(this).attr('name'); 
        $.ajax({
        type:"POST",
        url:"<?php echo base_url(); ?>controller_name/",
        data:'dataString='+dataString,
        success:function (data) {
        alert('test');
        }

    });
    event.preventDefault();
});



回答2:


you could also do something like this, which is an alternative syntax

$('a.test').click(function (event) {
    dataString = $(this).attr('name'); 
    $.ajax({
        type:"POST",
        url:"<?php echo base_url(); ?>controller_name/",
        data:{'dataString':dataString},
        success:function (data) {
        alert('test');
        }
    });
    event.preventDefault();
});

in your controller $test_var= $this->input->post('dataString');

or just like in vanilla php

$test_var = $_POST['dataString'];



回答3:


use data option like this data: { name: "John", location: "Boston" } for more details plz check http://api.jquery.com/jQuery.ajax/



来源:https://stackoverflow.com/questions/13406690/jquery-ajax-call-to-php-controller

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!