2013-07-12 73 views
0

嘗試發送(使用Ajax,JSON)數據從文件1號到文件NO2,然後從文件NO2發送數據到文件1號AJAX,JSON從一個php文件的數據發送到另一個,然後將數據發送回

這是在1號文件中的代碼

HTML

<div id="first_var">1 one</div> 
<div id="second_var">2 two</div> 
<div id="load"></div> 

阿賈克斯

$(document).ready(function(){ 
var one = $("#first_var").val(); 
var two = $("#second_var").val(); 
var dataString = 'one='+first_var+'&two='+second_var; 

$.ajax({ 
type: "POST", 
url: 'fileNo2.php', 

data: dataString, 
dataType: "json", 

success: function(data) { 
$('#load').html(data); 
} 
}); 

下面是文件NO2

$p_one = $_POST['p_one']; 
$p_two = $_POST['p_two']; 
$test = $p_one. '<br>test<br>'. $p_two; 
echo json_encode($test); 

作爲<div id="load"></div>結果只看到一句話test

如果代替data: dataString,使用data : { p_one: 'test 1', p_two: 'test 2' },然後一切正常。

可能不正確definied var one等?似乎var one = $("#first_var").val();val()可以使用,如果<div id="first_var">1 one</div>將是輸入字段。但如果它不是輸入字段?只要內部id="first_var文本....

請諮詢。

回答

1

您只需要在數據字符串中正確命名鍵。 PHP腳本期待「p_one」和「p_two」,而不是「one」和「two」。

var dataString = 'p_one='+first_var+'&p_two='+second_var; 

另外,你需要.text(),不.val()得到內部文本:

var one = $("#first_var").text(); 
+0

是的,對不起我的疏忽再次...改變一個例子,並沒有引起足夠的重視。現在部分工作。在'

''' [object HTMLDivElement]'而不是'1 one'和'2 two' – user2465936

+0

@ user2465936可能還有更多問題......對於其中一個,您需要'.text()'而不是「val」。 – McGarnagle

相關問題