2012-04-01 70 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