2012-04-01 63 views
1

你好,这是代码片段是我从Jquery Ajax based search基于JavaScript的jQuery的AJAX功能,无法发送后价值

让我与完成这一切,只是问题是下面的脚本可能不被发送POST变量及其值或可能是我没有正确提取它。

<script type='text/javascript'>//<![CDATA[ 
$(window).load(function(){ 
$(document).ready(function() { 
    $("input[name='search_user_submit']").click(function() { 
     var cv = $('#newInput').val(); 
     var cvtwo = $('input[name="search_option"]:checked').val(); 
     var data = 'cv=' + cv + '&cvtwo=' + cvtwo; // sending two variables 
     $("#SearchResult").html('<img src="../../involve/images/elements/loading.gif"/>').show(); 
     var url = "elements/search-user.php"; 
     $.post(url, { 
      contentVar: data 
     }, function(data) { 
      $("#SearchResult").html(data).show(); 
     }); 

    }); 
}); 
});//]]> 
</script> 

在php文件我有以下代码: -

if (isset($_POST['cv'])) 
{ 
// My Conditions 
} 
else 
{ 
// Show error 
} 

而且其示值误差,这意味着一切是正确的只是后不能正常工作,也许。

var data = 'cv=' + cv + '&cvtwo=' + cvtwo; // sending two variables是否会做需要或我们需要做任何修改。我知道像这样的问题真的让人烦恼,但我该怎么做,我坚持起来.. @userD真的帮了我很多,只剩下这一部分。

+1

是否在不同的域中的目标网址?如果是这样,服务器可能需要支持[CORS](http://www.w3.org/TR/cors/)。 – Gumbo 2012-04-01 06:53:30

+0

没有它不在不同的域,实际上我在我的本地主机上测试它 – 2012-04-01 07:03:13

回答

1

由于您使用.post的$代替$阿贾克斯,您的通话应该是:

$.post(url, data, function(response) { 
    /// ... 
}); 

数据必须是一个Javascript对象,像这样:

data = { "cv" : cv, "cvtwo" : cvtwo }; 

检查jQuery的文档欲了解更多信息:

http://docs.jquery.com/API/1.1/AJAX#.24.post.28_url.2C_params.2C_callback_.29

+2

[数据可以是对象或字符串。](http://api.jquery.com/jQuery.post/) – Gumbo 2012-04-01 06:58:09

+0

所以' var data ='cv ='+ cv +'&cvtwo ='+ cvtwo; //发送两个变量我需要用'data = {“cv”:cv,“cvtwo”:cvtwo}来替换;' – 2012-04-01 06:59:02

+1

并且''.post(url,{ contentVar:data },function ){(##SearchResult).html(data).show(); }''到'$ .post(url,data,function(response){ /// ... }); – 2012-04-01 07:00:12