<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: background invisible stored process in Developers</title>
    <link>https://communities.sas.com/t5/Developers/background-invisible-stored-process/m-p/183734#M4344</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ah - this can be a problem. Will your final site be hosted on the same server as your SAS STP webapp?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What you'll need to do while you are developing is, if using chrome, start it with the parameter of --disable-web-security, which disables the same origin policy and lets you get it working on your local browser. You then have some options if you want to use this approach for deployment. They vary in complexity:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;1) deploy your website as part of the jboss root.war static directory. This will mean that your /website will be on the same server as your /SASStoredProcess/do, which means that same origin policy will allow it&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;2) deploy both your website and your SAS SPWA behind a reverse proxy, which will present your website and the SAS app to the browser as appearing on the same server, effectively doing as above&lt;/P&gt;&lt;P&gt;3) configure your application server, or the front end that fronts it, for CORS, as you suggest.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Here is how to do it for a front-end:&lt;/P&gt;&lt;P&gt;&lt;A href="http://enable-cors.org/server.html" title="http://enable-cors.org/server.html"&gt;enable cross-origin resource sharing&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; And here is how to do it if you just have JBoss:&lt;/P&gt;&lt;P&gt;&lt;A class="active_link" href="http://stackoverflow.com/questions/19800822/cross-origin-resource-sharing-cors-with-jquery-and-jboss-web-service" title="http://stackoverflow.com/questions/19800822/cross-origin-resource-sharing-cors-with-jquery-and-jboss-web-service"&gt;Cross Origin Resource Sharing (CORS) with jQuery and JBoss web service - Stack Overflow&lt;/A&gt;&lt;/P&gt;&lt;P&gt;(this involves implementing a class in jboss, such as this &lt;A href="http://padcom13.blogspot.co.uk/2011/09/cors-filter-for-java-applications.html" title="http://padcom13.blogspot.co.uk/2011/09/cors-filter-for-java-applications.html"&gt;Padcom's blog: CORS filter for Java applications &lt;/A&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;and then configuring a filter that sends all CORS requests to that class)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm sorry, I assumed that you were already working as #1 above, ie hosting your pages on the same server that hosts your web application.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 12 Sep 2014 16:20:06 GMT</pubDate>
    <dc:creator>boemskats</dc:creator>
    <dc:date>2014-09-12T16:20:06Z</dc:date>
    <item>
      <title>background invisible stored process</title>
      <link>https://communities.sas.com/t5/Developers/background-invisible-stored-process/m-p/183726#M4336</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like to register email subscriptions from a static website (only html and javascript)&lt;/P&gt;&lt;P&gt;I have a simple webform with 3 values that need to be registerd.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was planning to do it with a SAS STP and store the 3 values in a dataset.&lt;/P&gt;&lt;P&gt;It's working but my problem is that UX is really bad :&lt;/P&gt;&lt;P&gt;- when a user click on submit, the browser goes to the link of the STP, closing the current website (can be solved with newwindow)&lt;/P&gt;&lt;P&gt;- the stp does it's job, it registers the subscription into a dataset.&lt;/P&gt;&lt;P&gt;- user sees a gray screen and is left there.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How is it possible to make this more friendly ?&lt;/P&gt;&lt;P&gt;Ideally the user would click on submit, would be redirected to the same website and would be shown a confirmation dialog (passed with an URL parameter like "?subscriptionIsConfirmed=1" )&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there a way to run the STP in the background ? to prevent it of opening a window ? to close the STP window ? to redirect to a specific URL ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your help !&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Sep 2014 08:46:01 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Developers/background-invisible-stored-process/m-p/183726#M4336</guid>
      <dc:creator>mathias</dc:creator>
      <dc:date>2014-09-03T08:46:01Z</dc:date>
    </item>
    <item>
      <title>Re: background invisible stored process</title>
      <link>https://communities.sas.com/t5/Developers/background-invisible-stored-process/m-p/183728#M4338</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Maybe the stored process can be run in an invisible iframe in my website, this would make the process completely invisible to users.&lt;/P&gt;&lt;P&gt;Browsers may not like invisible iframes though.&lt;/P&gt;&lt;P&gt;I'll try this.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Sep 2014 10:07:17 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Developers/background-invisible-stored-process/m-p/183728#M4338</guid>
      <dc:creator>mathias</dc:creator>
      <dc:date>2014-09-03T10:07:17Z</dc:date>
    </item>
    <item>
      <title>Re: background invisible stored process</title>
      <link>https://communities.sas.com/t5/Developers/background-invisible-stored-process/m-p/183729#M4339</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;mathias your are using the SP more like what I have seen done with SAS/Internet building your own html. It is part of a SP approach and possible.&lt;BR /&gt;Does this help you? &lt;A href="http://support.sas.com/documentation/cdl/en/stpug/67499/HTML/default/viewer.htm#p1m8j53px3ckx7n0zngtlmtm29ev.htm" title="http://support.sas.com/documentation/cdl/en/stpug/67499/HTML/default/viewer.htm#p1m8j53px3ckx7n0zngtlmtm29ev.htm"&gt;SAS(R) 9.4 Stored Processes: Developer's Guide, Second Edition&lt;/A&gt; The web is stateless if you want to use multiple screens there must be some session binding.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Sep 2014 11:30:33 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Developers/background-invisible-stored-process/m-p/183729#M4339</guid>
      <dc:creator>jakarman</dc:creator>
      <dc:date>2014-09-03T11:30:33Z</dc:date>
    </item>
    <item>
      <title>Re: background invisible stored process</title>
      <link>https://communities.sas.com/t5/Developers/background-invisible-stored-process/m-p/183730#M4340</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mathias,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;look at using an AJAX request instead of a form post request. This way you can do whatever you want with the returned values in the javascript. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Are you using anything like jquery on your site?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The other approach is like you say setting the form submit target to a small/hidden iframe somewhere, but the ajax route is better. It's slightly more complex to program though if you don't have a js library/framework available&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Sep 2014 15:32:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Developers/background-invisible-stored-process/m-p/183730#M4340</guid>
      <dc:creator>boemskats</dc:creator>
      <dc:date>2014-09-11T15:32:51Z</dc:date>
    </item>
    <item>
      <title>Re: background invisible stored process</title>
      <link>https://communities.sas.com/t5/Developers/background-invisible-stored-process/m-p/183731#M4341</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm using jQuery, yes.&lt;/P&gt;&lt;P&gt;can you tell me little bit more ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Sep 2014 10:59:12 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Developers/background-invisible-stored-process/m-p/183731#M4341</guid>
      <dc:creator>mathias</dc:creator>
      <dc:date>2014-09-12T10:59:12Z</dc:date>
    </item>
    <item>
      <title>Re: background invisible stored process</title>
      <link>https://communities.sas.com/t5/Developers/background-invisible-stored-process/m-p/183732#M4342</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;Have a look at this example: &lt;A href="http://hayageek.com/jquery-ajax-form-submit/" style="font-size: 10pt;" title="http://hayageek.com/jquery-ajax-form-submit/"&gt;jQuery AJAX Form Submit Example&lt;/A&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;It's a very well documented technique so I'll assume you've familiarised yourself with it before continuing with this, and that you understand javascript objects etc. What AJAX does is it lets you make a background HTTP request without reloading the page and interpret any data returned using function that you define in there. So here is the example above but modified to suit your purposes:&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;SAS code:&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;...code that handles your form input and validates it, and then...&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;data _null_;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;&amp;nbsp; file _webout;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %if &amp;amp;successful = 1 %then %do;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;&amp;nbsp; put '{"success":1}';&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %else %do;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;&amp;nbsp; put '{"success":0}';&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; %end;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;SPAN style="font-family: 'courier new', courier;"&gt;&lt;STRONG&gt;run;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;*note: no need to include stpbegin and stpend as you are outputting raw text data here to be interpreted by the front end javascript;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;JQuery code:&lt;/P&gt;&lt;P style="font-size: 13.3333330154419px; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; background-color: #ffffff;"&gt;&lt;/P&gt;&lt;TABLE border="0" cellpadding="0" cellspacing="0" style="font-size: 15.3333330154419px; color: #000000; margin: 0 !important; padding: 0 !important; border: 0px !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; background-position: initial !important;"&gt;&lt;TBODY style="margin: 0 !important; padding: 0 !important; font-size: 1em !important; background-position: initial !important;"&gt;&lt;TR style="margin: 0 !important; padding: 0 !important; border: 0px !important; font-size: 1em !important; background-position: initial !important;"&gt;&lt;TD class="gutter" style="margin: 0 !important; padding: 0 !important; border: 0px !important; font-size: 1em !important; color: #afafaf !important; background-position: initial !important;"&gt;&lt;P class="line number1 index0 alt2" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;1&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number2 index1 alt1" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;2&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number3 index2 alt2" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;3&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number4 index3 alt1" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;4&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number5 index4 alt2" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;5&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number6 index5 alt1" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;6&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number7 index6 alt2" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;7&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number8 index7 alt1" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;8&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number9 index8 alt2" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;9&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number10 index9 alt1" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;10&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number11 index10 alt2" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;11&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number12 index11 alt1" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;12&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number13 index12 alt2" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;13&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number14 index13 alt1" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;14&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number15 index14 alt2" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;15&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number16 index15 alt1" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;16&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number17 index16 alt2" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;17&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number18 index17 alt1" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;18&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number19 index18 alt2" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;19&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number20 index19 alt1" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;20&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number21 index20 alt2" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;21&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number22 index21 alt1" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;22&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number23 index22 alt2" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;23&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number24 index23 alt1" style="margin: 0 !important; padding: 0 0.5em 0 1em !important; border-right-style: solid !important; border-right-color: #6ce26c !important; font-size: 1em !important; text-align: right !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;24&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;TD class="code" style="margin: 0 !important; padding: 0 !important; border: 0px !important; font-size: 1em !important; background-position: initial !important;"&gt;&lt;P class="container" style="margin: 0 !important; padding: 0 !important; font-size: 1em !important; background-position: initial !important;"&gt;&lt;/P&gt;&lt;DIV class="line number1 index0 alt2" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;CODE class="javascript comments" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #008200 !important; background: none !important;"&gt;//callback handler for form submit&lt;/CODE&gt;&lt;/SPAN&gt;&lt;P&gt;&lt;/P&gt;&lt;P class="line number2 index1 alt1" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;$(&lt;/CODE&gt;&lt;CODE class="javascript string" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: blue !important; background: none !important;"&gt;"#ajaxform"&lt;/CODE&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;).submit(&lt;/CODE&gt;&lt;CODE class="javascript keyword" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; color: #006699 !important; background: none !important;"&gt;function&lt;/CODE&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;(e)&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number3 index2 alt2" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;{&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number4 index3 alt1" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;CODE class="javascript spaces" style="color: #009900; margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE class="javascript keyword" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; color: #006699 !important; background: none !important;"&gt;var&lt;/CODE&gt; &lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;postData = $(&lt;/CODE&gt;&lt;CODE class="javascript keyword" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; color: #006699 !important; background: none !important;"&gt;this&lt;/CODE&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;).serializeArray();&amp;nbsp; &lt;STRONG&gt;// this will put all your form responses in a javascript object&lt;/STRONG&gt;&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number4 index3 alt1" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;postData._program = '/my metadata/Stored Process/location/program'; // this will add extra parameters to postData on top of your form responses&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number4 index3 alt1" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;CODE class="javascript spaces" style="line-height: 1.5em; color: #009900; font-size: 1em !important; margin: 0px !important; padding: 0px !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; background: none !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE class="javascript keyword" style="line-height: 1.5em; font-size: 1em !important; margin: 0px !important; padding: 0px !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; color: #006699 !important; background: none !important;"&gt;var&lt;/CODE&gt;&lt;SPAN style="line-height: 1.5em;"&gt; &lt;/SPAN&gt;&lt;CODE class="javascript plain" style="line-height: 1.5em; font-size: 1em !important; margin: 0px !important; padding: 0px !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; background: none !important;"&gt;formURL = $(&lt;/CODE&gt;&lt;CODE class="javascript keyword" style="line-height: 1.5em; font-size: 1em !important; margin: 0px !important; padding: 0px !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; color: #006699 !important; background: none !important;"&gt;this&lt;/CODE&gt;&lt;CODE class="javascript plain" style="line-height: 1.5em; font-size: 1em !important; margin: 0px !important; padding: 0px !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; background: none !important;"&gt;).attr(&lt;/CODE&gt;&lt;CODE class="javascript string" style="line-height: 1.5em; font-size: 1em !important; margin: 0px !important; padding: 0px !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; color: blue !important; background: none !important;"&gt;"action"&lt;/CODE&gt;&lt;CODE class="javascript plain" style="line-height: 1.5em; font-size: 1em !important; margin: 0px !important; padding: 0px !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; background: none !important;"&gt;);&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number6 index5 alt1" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;CODE class="javascript spaces" style="color: #009900; margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;$.ajax(&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number7 index6 alt2" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;CODE class="javascript spaces" style="color: #009900; margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;{&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number8 index7 alt1" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;CODE class="javascript spaces" style="color: #009900; margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;url : formURL,&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number9 index8 alt2" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;CODE class="javascript spaces" style="color: #009900; margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;type: &lt;/CODE&gt;&lt;CODE class="javascript string" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: blue !important; background: none !important;"&gt;"POST"&lt;/CODE&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;,&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number10 index9 alt1" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;CODE class="javascript spaces" style="color: #009900; margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;data : postData,&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number11 index10 alt2" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;CODE class="javascript spaces" style="color: #009900; margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;success:&lt;/CODE&gt;&lt;CODE class="javascript keyword" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; color: #006699 !important; background: none !important;"&gt;function&lt;/CODE&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;(data, textStatus, jqXHR) &lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number12 index11 alt1" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;CODE class="javascript spaces" style="color: #009900; margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;{&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number13 index12 alt2" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;STRONG&gt;&lt;CODE class="javascript spaces" style="color: #009900; margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE class="javascript spaces" style="margin: 0px !important; padding: 0px !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;&lt;SPAN style="color: #008200;"&gt;if (data.success == 1) {&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number13 index12 alt2" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="color: #008200; font-size: 8pt;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // indicate to user they have signed up ok&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number13 index12 alt2" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="color: #008200; font-size: 8pt;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number13 index12 alt2" style="color: #000000; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="color: #008200; font-size: 8pt;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // indicate to user they need to submit again as there was an error&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number13 index12 alt2" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="color: #008200; font-size: 8pt;"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number14 index13 alt1" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;CODE class="javascript spaces" style="color: #009900; margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;},&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number15 index14 alt2" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;CODE class="javascript spaces" style="color: #009900; margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;error: &lt;/CODE&gt;&lt;CODE class="javascript keyword" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-weight: bold !important; font-size: 1em !important; color: #006699 !important; background: none !important;"&gt;function&lt;/CODE&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;(jqXHR, textStatus, errorThrown) &lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number16 index15 alt1" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;CODE class="javascript spaces" style="color: #009900; margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;{&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number17 index16 alt2" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;CODE class="javascript spaces" style="color: #009900; margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE class="javascript comments" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #008200 !important; background: none !important;"&gt;//if fails&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number18 index17 alt1" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;CODE class="javascript spaces" style="color: #009900; margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;}&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number19 index18 alt2" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;CODE class="javascript spaces" style="color: #009900; margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;});&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number20 index19 alt1" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;CODE class="javascript spaces" style="color: #009900; margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;e.preventDefault(); &lt;/CODE&gt;&lt;CODE class="javascript comments" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #008200 !important; background: none !important;"&gt;//STOP default action&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number21 index20 alt2" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;CODE class="javascript spaces" style="color: #009900; margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/CODE&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;e.unbind(); &lt;/CODE&gt;&lt;CODE class="javascript comments" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #008200 !important; background: none !important;"&gt;//unbind. to stop multiple form submit.&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number22 index21 alt1" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;});&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class="line number23 index22 alt2"&gt;&lt;/P&gt;&lt;P class="line number24 index23 alt1" style="margin: 0 !important; padding: 0 1em !important; font-size: 1em !important; background: none white !important;"&gt;&lt;SPAN style="font-size: 8pt;"&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;$(&lt;/CODE&gt;&lt;CODE class="javascript string" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: blue !important; background: none !important;"&gt;"#ajaxform"&lt;/CODE&gt;&lt;CODE class="javascript plain" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; background: none !important;"&gt;).submit(); &lt;/CODE&gt;&lt;CODE class="javascript comments" style="margin: 0 !important; padding: 0 !important; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace !important; font-size: 1em !important; color: #008200 !important; background: none !important;"&gt;//Submit&amp;nbsp; the FORM&lt;/CODE&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;&lt;/TD&gt;&lt;TD&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've edited this code by hand but I hope it gives you an idea of the mechanisms involved. It's a much more modern way of working.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know if you need any more help, I'll be happy to.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cheers&lt;/P&gt;&lt;P&gt;Nik&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Sep 2014 12:59:50 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Developers/background-invisible-stored-process/m-p/183732#M4342</guid>
      <dc:creator>boemskats</dc:creator>
      <dc:date>2014-09-12T12:59:50Z</dc:date>
    </item>
    <item>
      <title>Re: background invisible stored process</title>
      <link>https://communities.sas.com/t5/Developers/background-invisible-stored-process/m-p/183733#M4343</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks a lot,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried what you suggested.&lt;/P&gt;&lt;P&gt;I got my stp to output {"success":1}&lt;/P&gt;&lt;P&gt;(removed % in your data step + added %stepbegin right after it)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, what happens is always : &lt;SPAN style="color: #008200; font-family: Consolas, 'Bitstream Vera Sans Mono', 'Courier New', Courier, monospace; font-size: 11px; background-color: #ffffff;"&gt;//if fails &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the console I have this error :&lt;/P&gt;&lt;P&gt;XMLHttpRequest cannot load &amp;lt;formURL&amp;gt;. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '&amp;lt;MyWebsiteURL&amp;gt;' is therefore not allowed access. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And here is what I found on the subject : &lt;A class="active_link" href="http://stackoverflow.com/questions/19821753/jquery-xml-error-no-access-control-allow-origin-header-is-present-on-the-req#19821851" title="http://stackoverflow.com/questions/19821753/jquery-xml-error-no-access-control-allow-origin-header-is-present-on-the-req#19821851"&gt;http://stackoverflow.com/questions/19821753/jquery-xml-error-no-access-control-allow-origin-header-is-present-on-the-req#19821851&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But I have no idea how to enable CORS on the STP server.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Sep 2014 16:08:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Developers/background-invisible-stored-process/m-p/183733#M4343</guid>
      <dc:creator>mathias</dc:creator>
      <dc:date>2014-09-12T16:08:57Z</dc:date>
    </item>
    <item>
      <title>Re: background invisible stored process</title>
      <link>https://communities.sas.com/t5/Developers/background-invisible-stored-process/m-p/183734#M4344</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ah - this can be a problem. Will your final site be hosted on the same server as your SAS STP webapp?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What you'll need to do while you are developing is, if using chrome, start it with the parameter of --disable-web-security, which disables the same origin policy and lets you get it working on your local browser. You then have some options if you want to use this approach for deployment. They vary in complexity:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;1) deploy your website as part of the jboss root.war static directory. This will mean that your /website will be on the same server as your /SASStoredProcess/do, which means that same origin policy will allow it&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;2) deploy both your website and your SAS SPWA behind a reverse proxy, which will present your website and the SAS app to the browser as appearing on the same server, effectively doing as above&lt;/P&gt;&lt;P&gt;3) configure your application server, or the front end that fronts it, for CORS, as you suggest.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Here is how to do it for a front-end:&lt;/P&gt;&lt;P&gt;&lt;A href="http://enable-cors.org/server.html" title="http://enable-cors.org/server.html"&gt;enable cross-origin resource sharing&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; And here is how to do it if you just have JBoss:&lt;/P&gt;&lt;P&gt;&lt;A class="active_link" href="http://stackoverflow.com/questions/19800822/cross-origin-resource-sharing-cors-with-jquery-and-jboss-web-service" title="http://stackoverflow.com/questions/19800822/cross-origin-resource-sharing-cors-with-jquery-and-jboss-web-service"&gt;Cross Origin Resource Sharing (CORS) with jQuery and JBoss web service - Stack Overflow&lt;/A&gt;&lt;/P&gt;&lt;P&gt;(this involves implementing a class in jboss, such as this &lt;A href="http://padcom13.blogspot.co.uk/2011/09/cors-filter-for-java-applications.html" title="http://padcom13.blogspot.co.uk/2011/09/cors-filter-for-java-applications.html"&gt;Padcom's blog: CORS filter for Java applications &lt;/A&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;and then configuring a filter that sends all CORS requests to that class)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm sorry, I assumed that you were already working as #1 above, ie hosting your pages on the same server that hosts your web application.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Sep 2014 16:20:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/Developers/background-invisible-stored-process/m-p/183734#M4344</guid>
      <dc:creator>boemskats</dc:creator>
      <dc:date>2014-09-12T16:20:06Z</dc:date>
    </item>
  </channel>
</rss>

