dsz7121 2016-08-11 10:27
浏览 81
已采纳

使用参数调用php脚本并在viewbag中设置结果

I'm having trouble calling php scripts from Java Script and then using that result to set view bag values for my controller. Here is the code behind:

<script>
var model = '<% = this %>';
var data = { NAMEPARAM: model.name }

$(document).ready(function () {
$("#AlertButton").click(function () {
    $.ajax({
        type: 'POST',
        url: "www/CustomScripts.php",
        data: data
    }).success(function(data) {
        //need to set the returned message in view bag here.
    }).error(function (data) {
         alert("An error occurred while processing request")
        });
    });
});
</script>

<button id ="AlertButton" type="submit" class="btn green"> Alert </button>
<div id="PHPResult"> @ViewBag.message </div>

The problem I'm facing above, is to set the returned success message, in my ViewBag and then showing it on the screen. I know how to directly set the result inside the html div, but I need to set it inside the Viewbag

Also the way that I'm passing the name parameter to the php script. Is that the correct way, or is there a better way to accomplish that?

  • 写回答

1条回答 默认 最新

  • doulierong0334 2016-08-11 12:19
    关注

    I can't think of a reason to involve the ViewBag here. You're not doing a postback to MVC, so there's no way to populate it. It's a transaction between the HTML/Javascript and the PHP webservice only.

    So, it's actually relatively simple:

    <script>
    var model = '<% = this %>';
    var data = { NAMEPARAM: model.name }
    
    $(document).ready(function () {
      $("#AlertButton").click(function () {
        $.ajax({
          type: 'POST',
          url: "www/CustomScripts.php",
          data: data
        }).success(function(data) {
         $("#PHPResult").html(data); //assuming "data" is a user-friendly string
        }).error(function (data) {
          alert("An error occurred while processing request")
        });
      });
    });
    </script>
    
    <button id ="AlertButton" type="submit" class="btn green"> Alert </button>
    <div id="PHPResult"></div>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?