javascript变量通过ajax问题到服务器

问题描述:

我的目标是通过Ajax发送数据到服务器。javascript变量通过ajax问题到服务器

但服务器没有完全接收数据。

这是我写的代码。

在javascript

var a = 1, b = 2, c = 3, d = 4, e = 5; 
var f = { 'h':11, 'i':22, 'j':33}; 
$.ajax({ 
    type: 'POST', 
    url: url, 
    dataType: 'json', 
    data: { 'a':a, 'b':b, 'c':c, 'd': d, 'e': e,'dataImportant': f}, 
    success: function(result){ 
     /* do something */ 
    }, 
    error: function(result){ 
     /* do something */ 
    } 
}); 

在PHP

function getAjax(){ 
    $a = $this->input->post("a"); 
    $b = $this->input->post("b"); 
    $c = $this->input->post("c"); 
    $d = $this->input->post("d"); 
    $e = $this->input->post("e"); 
    $f = $this->input->post("dataImportant"); 
    echo "<pre>"; 
    print_r($f); 
    echo "</pre>"; 
    return; 
} 

结果:

<pre></pre> 

我打算得到以阵列的形式的数据。

但它不能很好地到达

我的错误是什么?

+0

我删除了骆驼案例符号,并没有问题。 – soredive 2011-03-30 02:35:41

+0

dataImportant X数据重要O.也许骆驼大小写符号不是通过Ajax提供的一种方式 – soredive 2011-03-30 02:46:41

a,b,c, d等...在您的JavaScript定义的变量?如果没有,你只是palying:

var f = { h:'11', i:'22', j:'33'}; 
$.ajax({ 
    type: 'POST', 
    url: url, 
    dataType: 'json', 
    data: { 'a':'a', 'b':'b', 'c':'c', 'd':'d', 'e':'e','f':'f' }, 
    success: function(result){ 
     /* do something */ 
    }, 
    error: function(result){ 
     /* do something */ 
    } 
}); 

我觉得你并不需要在你的数据声明引号:

data: { a:a, b:b, c:c, d:d, e:e, f:f}, 

的第一个字母定义你所命名下面的值。

{name:value, name:value} 

,如果你在数据声明定义它,您只需要在值引号

data: {a:'a',b:'b',etc} 

试试我的第一个例子,看看你的PHP脚本可以重复发送的值。

+1

JSON可以使用字符串文字来定义对特殊字符特别有用的对象变量:'obj = {'hyphen-ated':'foo'}'是完全有效的。 – zzzzBov 2011-03-29 20:16:38