2014-10-17 9 views
-2

저는 CSS (3)와 HTML (5)에 대해 매우 잘 알고 있습니다 만, 현재의 프로젝트를 통해 더 많은 것을 할 수 있습니다. 그러나, 이것은 나를 위해 완전히 알려지지 않은 지형입니다. 내 프로젝트에서 나는 사용자가 몇 가지 XML을 제출할 수있는 텍스트 영역을 가지고 있는데, 그런 다음 jQuery의 $.parseXML 메소드를 구문 분석한다. 그러나 XML 파일을 업로드하는 기능을 추가하고 싶습니다.사용자가 xml 파일을 업로드하고 PHP없이 파싱하도록 하시겠습니까?

나는 업로드 버튼과 같을 것이다 가정 :

<form name="upload-form" action="???" method="???"> 
    <input type="file" name="upload-field"> 
</form> 

그러나, 나는처럼 보이기 위해 어떤 행동과 방법을한다고 모른다. 내가 같은 페이지에 머물러서 멋진 일이 일어나지 않아서, 나는 그 행동 - 속성을 버릴 수 있다고 생각하고 있습니까? method-attribute는 post이 아닌 get 일 수 있습니까? (1)

그리고 뭐? jQuery의 파서에 업로드 된 XML 문서의 데이터를 얻는 방법을 모르겠습니다. (2) 올바른 파일 형식을 확인하는 방법은 무엇입니까? 이 에 서버 쪽에서 발생하는이 있습니까? (3)

+0

클라이언트 측 언어를 사용하여 파일을 업로드 할 수 없습니까? jquery (가능한 경우)를 사용하여 파일 형식의 유효성을 검사하면 모든 사용자가 javascript를 비활성화하여 컨트롤을 극복 할 수 있습니다. 그렇게하기 위해 서버 측 언어를 사용하도록 강력히 권합니다. – Stubborn

+1

[FileReader API] (https://developer.mozilla.org/en-US/docs/Web/API/FileReader), [웹 응용 프로그램에서 파일 사용] (https : //developer.mozilla. org/ko-ko/docs/Using_files_from_web_applications) 및 [이 질문] (http://stackoverflow.com/questions/750032/reading-file-contents-on-the-client-side-in-javascript-in-various - 브라우저). 이 기능을 지원해야하는 브라우저에 따라 달라집니다. – cOle2

+0

첫 번째 문제의 복제본에 대해 폐쇄되었습니다. 예 : 동일한 사이트에 파일을 업로드하십시오. 그 다음으로, Stackoverflow는 명확한 문제 성명서 (또는 내가 한 번에 하나의 질문으로 그것을 어떻게 자주 말 하느냐)와 함께 가장 잘 작동합니다. – hakre

답변

0

작업에는 양식 데이터를 수신 할 서버 측 스크립트의 이름이 포함됩니다. 게시물을 사용할 때 브라우저는 입력 필드의 내용을 url로 구문 분석하지 않습니다. 서버 측 스크립트 (예 : PHP에서 요청을 받고 보안 검사를하고 데이터를 저장합니다.

<pre> 
<?php 
print_r($_REQUEST); // shows the array containing the form data 
0

<form name="upload-form" action="serversidescript.php" method="post"> 
    <input type="file" name="upload-field"> 
    <input type="submit" value="Submit"> 
</form> 

serversidescript.php은 빈 방법을두고 포스트 방법을 사용합니다. 파일에 대해 게시물을 사용하는 것은 보안 기능이 있으며 더 많은 데이터를 업로드 할 수 있기 때문에 중요합니다. 당신은 PHP 버전, PHP 버전이 = "다중/폼 데이터"를 추가 할 필요가 파일을 업로드 나이 파일을 구문 분석 후

<form name="upload-form" action="" method="post" enctype="multipart/form-data" > 
    <input type="file" name="upload-field"> 
    <input type="submit" value="Submit"> 
</form> 

작동하지 때문에

, 당신은 읽을 필요 xml 파일을 jquery를 사용하여 작성한 다음 수행 할 작업에 따라 파서 함수를 작성하십시오.

//write the custome parse function 
function parse(data){ 
    //code for your parse function goes here. 
    // to append the file to html, I need the actual structure of the file to show you 
} 

//this reads the xml file using jquery 
$.ajax({ 
    url: 'name.xml', // name of file you want to parse 
    dataType: "xml", 
    success: parse, //this calls the parse function 
     error: function(){alert("Error: Something went wrong");} 
    }); 
관련 문제