Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > Client Script Forum > สอบถามเรื่อ ajax และ jQuery ใน java script หน่อยครับติดปัญหา



 

สอบถามเรื่อ ajax และ jQuery ใน java script หน่อยครับติดปัญหา

 



Topic : 111150



โพสกระทู้ ( 95 )
บทความ ( 0 )



สถานะออฟไลน์




คือพอดีผมอยากจะดึง API ที่ใน java script อะครับแต่รู้สึกจะไม่ได้ ต้องสร้างไฟล์ php มาก่อนเพื่อดึง API ออกมาก่อนแล้วถึงจะ ให้ java script เรียกไฟล์ php มาแสดงผลอีกที ซึ่งผมไม่รู้ว่าต้องทำยังไงบ้าง ช่วยแนะนำหน่อยนะครับ

และถ้าดึงมาได้แล้ว ผมต้องการใช้ ajax ในการเรียกข้อมูลที่มาจาก API ที่ดึงจาก php มาคือมันจะเป็น tab อะครับ แล้วเมื่อชี้ที่แทบไหน ถึงค่อยเรียก API ที่มาจาก PHP นั้นมาแสดง คือไม่อยากโหลดมาทีเดียวอะครับ เพราะมันจะทำให้ โหลดเว็บมากเกินไป ต้องการให้แค่ เมื่อชี้ที่ tab ข้อมูล ต่างๆ แล้วถึงเรียก API นั้นมาแสดงอะครับ

พอจะมี Code หรือ คำแนะนำในการทำไหมครับ ติดปัญหาตรงนี้มากๆเลยครับ

หลักการประมาณนี้อะครับ
PHP (ดึงค่าข้อมูลมาจาก API) -> ดึงมาไฟล์ java script -> ใช้ ajax ในการแสดงผลข้อมูลต่างๆ

ที่ผมต้องทำแบบนี้เพราะผมจะทำเป็น Widget ให้หน้าเว็บอะครับ เพราะมีหลายๆ Site ที่ใช้แบบเดียวกัน เพื่อให้สามารถเรียก js ตัวเดียวกันได้เลยประมาณนี้อะครับ

ขอบคุณสำหรับคำแนะนำล่วงหน้านะครับ



Tag : JavaScript, Ajax, jQuery







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-09-08 10:43:57 By : topman View : 1334 Reply : 2
 

 

No. 1



โพสกระทู้ ( 9,586 )
บทความ ( 2 )



สถานะออฟไลน์


นี่เป็นตัวอย่างการใช้ ajax และ XMLHttpRequest ซึ่งเป็นโค๊ดรุ่นเก่าแต่ยังใช้ได้
โดย ไม่ต้องใช้ jquery ที่จะต้อง เปลือง bandwidth อีกมากในการ โหลอด
แต่ถ้าคุณมี jquery อยู่แล้ว ก็ลองเปลี่ยนฟังกชั่น ใน new_ajax ดูครับ

index.html
Code (PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<script language="javascript" type="text/javascript">
///////////////////////////////////////////////////////////////////////////
///////  Below is Function to recieve result from function ale_1(idx).
///////////////////////////////////////////////////////////////////////////
var http = Array();
function new_ajax(url, param, ele, callback){
	var j='x_'+http.length;
	http[j]='a';
	if(window.XMLHttpRequest){   //IE7,   Mozilla   ,Firefox 
		http[j] = new XMLHttpRequest();
	}else if(window.ActiveXObject){ //IE6?IE5
			try{ http[j] = new ActiveXObject( "Msxml2.XMLHTTP ");} catch (e){ ; }
			if( http[j] ==  null) try   { http[j] = new ActiveXObject( "Microsoft.XMLHTTP ");}   catch   (e){; }
	}else{
		alert('not found HttpRequtest'); return false;
	}
	try {
		http[j].open("POST", url, false);
	} catch (e) { alert( "2: Error http.open: \nurl="+url+"\n\n" + e + "\n\n"+ "Click OK to continue.\n\n"); return false; }
	var param_len = param.length;
	http[j].setRequestHeader("Method", "POST "+url+' HTTP/1.1');
	http[j].setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http[j].send(param);
	if(http[j].readyState == 4)
		if(http[j].status == 200) {
			var txt=http[j].responseText;
			if(callback !== null) callback.request_ok(txt, ele);
		}
	http[j] = null;
	return true;
}

var js_job={
	request_ok: function (rs, ele){
		if(ele=='test') { this.result(rs); } else
		if (ele!='no_alert') alert('43||'+rs);
	},
	sendAjax: function(url, param){
		 new_ajax(url, param, 'test', js_job)
	},
	result:function(rs){
		var data=this.explode('|', rs);
		add2Table(data);
	},
	explode: function(delimiter, ele) {
		tempArray=new Array(1);
		var count=0, z, ix;
		var tmp_Str=new String(ele.trim());
		while ((ix=tmp_Str.indexOf(delimiter))>-1) {
			z=ix==0? '' : tmp_Str.substr(0,ix).trim();
			if(z.length) { tempArray[count]=z; count++;}
			//tmp_Str=tmp_Str.substr( ix+delimiter.length);
			tmp_Str=tmp_Str.substr( ix+delimiter.length, tmp_Str.length-(ix+delimiter.length)+1 );
		}
		tempArray[count]=tmp_Str;
		return tempArray;
	}, ///////////////////////////////////////////////////////////
	test: ''
}
/////////////////////////////////////////////////////////////////////*/
function getJob(){
	var param=document.getElementById('select_job').value;
	if(confirm('ajax.php'+'?'+'testAjax='+param))
		js_job.sendAjax('ajax.php', 'testAjax='+param);
}
function add2Table(rs){
	var tb=document.getElementById('testTB');
	var ro = tb.insertRow(tb.rows.length);
	ro.insertCell(0).innerHTML=rs[0];
	ro.insertCell(1).innerHTML=rs[1];
}
</script>
<table><tr>
<td>
	<select id="select_job" >
	<option value="getYourJob1">getYourJob1</option>
	<option value="getYourJob2">getYourJob2</option>
	</select></td>
<td><input type="button" value="get data" onclick="getJob()"  /></td>
</tr></table>
<table border="1" id="testTB">
<tr><th>Item</th><th>Description</th></tr>
</table>
</body>
</html>




ajax.php
Code (PHP)
<?php
define('delimeter', '|');
//include('connectYourDB.php');
if(isset($_REQUEST['testAjax'])){
	switch($_REQUEST['testAjax']){
	case 'getYourJob1':
			echo 'field1', delimeter, 'field2';
		break;
	case 'getYourJob2':
			echo 'field3', delimeter, 'field4';
		break;
	}
}
?>




ตัวอย่าง ajax ของ jquery
Code (JavaScript)
$.ajax({

}).done(function(msg){

})








แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-08 10:58:42 By : Chaidhanan
 


 

No. 2



โพสกระทู้ ( 95 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณครับ เดียวผมจะลองดูก่อนนะครับ ว่าจะดัดแปลงได้ยังไงบ้าง

เพราะผมมีไฟล์ php ที่มีการเรียก API ออกมาแสดงข้อมูลแล้ว แต่จะใช้ ajax ในการ load ข้อมูลนั้นออกมาแสดงอะครับ เมื่อชี้ตาม เมนูที่เราต้องการ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-09-08 14:02:11 By : topman
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเรื่อ ajax และ jQuery ใน java script หน่อยครับติดปัญหา
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่