| 제목 | httpRequest.open 에러.. 좀 도와주세요 ㅜㅜ | ||
|---|---|---|---|
| 글쓴이 | vvshinevv | 작성시각 | 2016/08/06 02:01:05 |
|
|
|||
|
안녕하세요 코드이그나이터 책 사서 열심히 따라해보고 있습니다. 그런데 오타도 없고 몇번을 확인하고 구글링을 해봐도.. 답이 안나오는거같아서 질문올립니다... (혹시 또 허무한곳에서 답이 나올까봐 두렵긴 하네요..나름 5시간..동안 찾아보고 이것저것해봣는데..)
페이지는 232쪽부터 입니다. /include/js/httpRequest.js
function getXMLHttpRequest() {
if(window.ActiveXObject) {
try {
return new ActiveXObject("Msxml2.XMLHTTP");
} catch(e) {
try {
return new ActiveXObject("Microsoft.XMLHTTP");
} catch(e1) { return null; }
}
} else {
return null;
}
}
var httpRequest = null;
function sendRequest(url, params, callback, method) {
httpRequest = getXMLHttpRequest();
var httpMethod = method ? method : 'GET';
if(httpMethod != 'GET' && httpMethod != 'POST') {
httpMethod = 'GET';
}
var httpParams = (params == null || params == '') ? null : params;
var httpUrl = url;
if(httpMethod == 'GET' && httpParams != null) {
httpUrl = httpUrl + "?" + httpParams;
}
httpRequest.open(httpMethod, httpUrl, true);
httpRequest.setRequestHeader(
'Content-Type', 'application/x-www-form-urlencoded');
httpRequest.onreadystatechange = callback;
httpRequest.send(httpMethod == 'POST' ? httpParams : null);
}
요런식으로 작성을 햇구요.. controllers/ajax_board.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/**
* Ajax 처리 컨트롤러
*/
class Ajax_board extends CI_Controller {
function __contruct() {
parent::__contruct();
}
/**
* Ajax 테스트
*/
public function test() {
$this->load->view('ajax/test_v');
}
public function ajax_action() {
echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';
$name = $this->input->post("name");
echo $name."님 반갑습니다!";
}
}
그리고 views/ajax/test_v.php
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no"/>
<title>CodeIgniter</title>
<!--<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>-->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/sweetalert2/4.0.16/sweetalert2.min.css">
<script type="text/javascript" src="/todo/include/js/httpRequest.js"></script>
<script type="text/javascript">
function server_request() {
var csrf_token = getCookie('csrf_cookie_name');
var name = "name=" + encodeURIComponent(document.ajax_test.names.value) + "&csrf_test_name=" + csrf_token;
/**
* @param url : 데이터를 전달하여 처리할 웹 서버 주소
* @param name : 파라미터
* @param callback : 콜백 함수 post방식으로 전소아고 처리가 끝나면 받은 데이터를 callback_hello에서 처리하란 뜻
* @param 전송 방식
*/
sendRequest("http://localhost/todo/index.php/ajax_board/ajax_action", name, callback_hello, "POST"); // httpRequest.js에 있는 함수
}
function callback_hello() {
if(httpRequest.readyState == 4) {
if(httpRequest.status == 200) {
var contents = document.getElementById("contents");
contents.innerHTML = httpRequest.responseText;
}
}
}
function getCookie(name) {
var nameOfCookie = name + "=";
var x = 0;
while(x <= document.cookie.length) {
var y = (x + nameOfCookie.length);
if(document.cookie.substring(x, y) == nameOfCookie) {
if((endOfCookie = document.cookie.indexOf(";", y)) == -1)
endOfCookie = document.cookie.length;
return unescape(document.cookie.substring(y, endOfCookie));
}
x = document.cookie.indexOf(" ", x) + 1;
if(x == 0)
break;
}
return "";
}
</script>
</head>
<body>
<div id="main">
<form method="post" name="ajax_test">
<label>이름</label>
<div>
<input type="text" name="names" value="웅파">
</div>
<div>
<input type="button" onclick="server_request()" value="전송">
</div>
</form>
<div id="contents"></div>
</div>
</body>
</html>
입니다. 그런데 자꾸 에러가 요런 에러가 발생이 되네요... open 함수를 읽을 수없다는게.. 혹시 저와같은문제를 겪는분이나.. 해결하신분 도움좀 요청합니다!! |
|||
| 다음글 | 코드이그나이터, XAMPP 객체 없음 문제 (1) | ||
| 이전글 | 공통적인 부분은 따로 빼서 만들고 싶습니다. (5) | ||
|
변종원(웅파)
/
2016/08/06 14:45:44 /
추천
0
|
|
vvshinevv
/
2016/08/06 15:49:33 /
추천
0
흑흑 웅파님..
를 안썻네용... ㅜ_ㅜ... (흑흑...) 하.. 이런.. ㅠ_ㅠ!! 감사합니다 덕분에 확인다시하면서 해결됐네용!! |
|
변종원(웅파)
/
2016/08/08 10:10:02 /
추천
0
vvshinevv/ 저도 가끔 삽질이라 불리는 것을 합니다. 개발자의 숙명(?) 같은거죠. ^^
|
js파일 위치 보세요. 아래 위치에 js파일이 존재하는지...
<script type="text/javascript" src="/todo/include/js/httpRequest.js"></script>
232페이지는 게시판 프로젝트라 todo와는 상관이 없습니다.
234 페이지 보시면 /bbs/include.... 라고 되어 있습니다.