❶ php與JS對接的問題,有前端頁面(html的)和後端頁面(PHP的),JS怎麼獲取後台數組
大致的前後端交互可以這樣實現:
首先,前端js通過ajax請求後端php,請求數據推薦json格式
後端php收到請求後,解析數據並處理
後端返回處理後結果,不推薦var_mp列印,會列印多餘的無用信息,返回時json_encode()轉成json格式再返回
前端js收到返回值後解析json數據即可
❷ php和js互相調用,php中有一個數組,在html有一個按鈕,按鈕調用js函數的時候會傳一個數字參數
那就只能使用ajax了!也就是按鈕觸發js函數後, ajax再次非同步執行一次php並返回結果而進行後續操作!
或者頁面執行的時候, 直接將php數組輸出js格式的json數據,也行!
比如:
<?php
$arr=array(
array('a'=>'abc'),
array('a'=>'bcds')
);
?>
<script>
vararr=<?phpechojson_encode($arr)?>;
functionmods(num){
//你自己的操作,下面只是測試而已
alert(arr[num].a);
//arr[num].a就是你要的值
}
</script>
<buttontype="botton"onClick="mods(0)">按鈕</button>
❸ 如何把一個js變數傳給php變數
js僅在 瀏覽器中運行.
php 僅在伺服器端運行.
2者交互, 通常通過 http get/post 協議進行交互.
因此, 要將 js 變數傳輸到 php, 需通過 get/post 將參數傳入.
譬如:
<script>
function test(){
var x="abc";
$.ajax("test.php?x="+x);
}
</script>
而 test.php 中, 通過 $_REQUEST["x"] 即可拿到js 請求過來的變數.
追問
感覺你的答案最符合我的需求,只是我還是碰到了問題。
test.php文件中
onchange事件觸發test()函數,並將賦值。
<script>
function test(){
var x="abc";
$.ajax("test.php?x="+x);
}
test.php文件中
echo $_REQUEST["x"]並未獲取到有效值。echo沒有輸出。
請問,這到底是什麼原因。
追答
是因為 <script> 中並沒有輸出由 php 傳回的結果.
改成這個試試看.
1
2
3
4
5
6
<script>
function test(){
var x="abc";
$.ajax("test.php?x="+x),null,function(data){alert(data)});
}
</script>
❹ php與js交互 多選刪除
把下面的代碼
稍微修改一下就行了
<?php
if("確認刪除"){
$num=$_POST['checkbox'];
foreach($num
as
$v){
$sql="delete
from
aa
where
id
=".$v;
$aa=mysql_query($sql);
echo
"<script
language='javascript'>location.href='www..com';</script>";
}
}
?>
<input
type='checkbox'
name='checkbox[]'
value='aaa'>
<input
type='checkbox'
name='checkbox[]'
value='bbb'>
<input
type='button'
value='全選'
onClick="this.value=check('checkbox[]')">
<script>
var
checkflag
=
"false";
function
check(fieldName)
{
var
field=document.getElementsByName(fieldName);
if
(checkflag
==
"false")
{
for
(i
=
0;
i
<
field.length;
i++)
{
field[i].checked
=
true;
}
checkflag
=
"true";
return
"全選";
}else
{
for
(i
=
0;
i
<
field.length;
i++)
{
field[i].checked
=
false;
}
checkflag
=
"false";
return
"全選";
}
}
</script>
❺ JavaScript和php交互,是不是只能用ajax
不是,可以用js配合flash的as3來與php交互。比如頁游里的socket通訊。
還有就是通過配合only ie的activeX控制項也可以交互。
(ajax方式實際上也是一種js通過ie activeX控制項與後台程序交互的方式,只是所有瀏覽器都支持ajax方式而已)
最後有個現在來說在國內設計界比較不流行的,通過java的applet與js配合,實現後台交互。不過國外還是有不少的。像facebook,就是一度用applet來實現它的圖片上傳工具。網頁3D游戲也有不少。
❻ js與php參數交互
你需要的應該是xhr,你可以使用ajax,或者簡化的$.post(),$.get()等,
我不知道你的url和php的處理函數、傳遞值的方式,我自定義了
url=test.php
php處理函數在test.php文件中,
方式是get
$.get('test.php?str=str',
function(data){
alert(data);//data就是處理函數返回的數據。
});
注意test.php接數據的代碼
如果test.php文件中只有一個輸出,而且就是你想要的return,那麼,不需要function了,直接寫處理代碼,然後echo輸出就可以了,當然這里指的是字元串、整型的數據類型,如果是數組的,需要藉助json,你可以使用$.getjson();
返回的數組通過json_encode;編碼
❼ PHP如何與JS進行交互
PHP的所有應用程序都是通過WEB伺服器(如IIS或Apache)和PHP引擎程序解釋執行完成的,工作過程: (1)當用戶在瀏覽器地址中輸入要訪問的PHP頁面文件名,然後回車就會觸發這個PHP請求,並將請求傳送化支持PHP的WEB伺服器。 (2)WEB伺服器接受這個請求,並根據其後綴進行判斷如果是一個PHP請求,WEB伺服器從硬碟或內存中取出用戶要訪問的PHP應用程序,並將其發送給PHP引擎程序。(3)PHP引擎程序(一般為PHP.exe)將會對WEB伺服器傳送過來的文件從頭到尾進行掃描並根據命令從後台讀取,處理數據,並動態地生成相應的HTML頁面。 (4)PHP引擎將生成HTML頁面返回給WEB伺服器。WEB伺服器再將HTML頁面返回給客戶端瀏覽器。 以後在PHP中需要用到相關的內容,可以非常容易的使用js技術加上PHP了。
❽ js和php在同一個文件中相互獲取值的問題
你好php是服務端腳本語言,js是瀏覽器端腳本語言,除非使用ajax進行數據提交否則,一但服務端生成好頁面傳到瀏覽器端後就不再參與瀏覽器端的「運算」,所以你想在同一個頁面中不重新進行請求就js和php相互獲取值是不現實的。
另:
你的代碼分析如下:
<script>
varlinka;
linka=window.location.href;
</script>
<?php
$ch[0]="<script>document.write(linka);</script>";
echo$ch[0]."<br/>";
<script>
到這步為止,php獲得js的變數非常順利
下面接著
<script>
vark;
k="<?phpecho$ch[0];?>";
alert(k);
</script>
其實你的整個頁面都是php的,執行
$ch[0]="<script>document.write(linka);</script>";
這一句的時候,php的$ch[0]僅僅只是被賦予了"<script>document.write(linka);</script>"這個字元串,js代碼並沒有運行.php也並沒有獲得js的變數!獲得的只是字元串而已.
❾ php怎樣使數據轉化為JSON格式與JS進行交互
$data=[];你的數據
$json=json_encode($data);
echo$json;//返回數據
js:
//發送請求獲取數據
varresponse='requestresult';
vardata=eval('('+response+')');//轉換為JSON對象
for(letvofdata){
//使用數據
console.log(v);
}